Linux是一种开源的Unix-like操作系统内核,它是基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。Linux内核最初是由芬兰程序员Linus Torvalds在1991年创建的,之后成为自由软件和开源社区的一个主要项目。 以下是Linux操作系统的一些主要特点和组成部分:
总体而言,Linux操作系统是一个强大、灵活且可定制的操作系统,广泛应用于服务器、嵌入式系统、超级计算机等各种领域。
(1)在UNIX/Linux系统中,用户登录到系统后,可以看到一个shell提示符(#或$)。用户可以在提示符后面输入任何命令及参数如
$date #以默认方式显示日期和时间 $date -u #传统UNIX风格选项 $date --utc #GNU风格选项 $ls -l /etc/passwd #默认式或-u。传统UNIX风格 $ls -l -n /etc/passwd #传统UNIX风格选项 $ls -l --numeric-uid-gid /etc/passwd #混合使用 $ls -ln --time-style=iso /etc/passwd #同上
(2)Bash,为每个用户在~/.bash_history文件内预设了1000条记录的历史,并为每条记录一个编号,使用history [num]命令查询历史记录。
history 20
而使用history则可以输出所有的指令记录。
history
(3)单击“继续”按钮,选择“正常安装”和“安装 Ubuntu 时下载更新”。若要重新执行某条历史记录的命令则可以使用格式: $ !记录编号
(4)指把命令的标准输出保存到文件中。有两种方式:覆盖方式(>)和追加方式(>>)。例如:
$ ls > mylist.txt #覆盖方式 $ ls /usr >> mylist.txt #追加方式
(5)标准输入重定向指让命令的标准输入从指定的文件中读取,也就是说,输入不来自键盘,而来自一个指定的文件。
$ wc /etc/passwd #统计/etc/passwd的信息。 $ wc < /etc/passwd #标准输入定向到/etc/passwd $ wc < /etc/passwd >> usercount #标准输入重定向/etc/passwd,标准输出重定向到文件usercount $ wc #交互方式,从键盘数据,按^D结束
(6)实现管道机制的符号是“|”,其方法为:
cmd1 | cmd2 | … | cmdn
例如:
$ ls -l /dev | wc -l $ cat /etc/passwd | grep "root:"|wc -l
(7)tee命令读取标准输入,并将其内容同时写到标准输出和指定文件,其用法为:tee [-ai] [files].#将当月日历表显示到屏幕的同时也保存到文件calendar中
$ cal | tee calendar #将根目录短式列表显示到屏幕上的同时也保存到文件f1和f2中 $ ls / | tee f1 f2
(8)单击“继续”按钮,进入正式的安装界面,安装过程中需要在线下载 软件包。在UNIX/Linux系统中,用户可以定义自己的变量。定义后的变量就像在其他程序设计语言里一样被引用。引用变量时需要使用“$”作为变量名的前导字符。 变量的定义方法如下:
var_name=var_value
变量的定义和使用示例如下:
$ x=18 #定义变量x,其值为18 $ y='I am a student' #定义变量y,值为'I am a student' echo x y HOME #显示变量x,y和环境变量HOME的值 z=" echo x y z
(9)环境变量可用命令env、export或set来查询,比如:
$ export #显示所有的环境变量 $ env #同上。
问题:这里由于前面已有,再次输入env或 解决:只需输入env或export即可显示输出.
(10)返回值可在命令刚刚执行完毕后,通过$?来访问。比如:
$ ls /dev/sd* #显示系统中的SCSI硬盘设备 echo ? #显示返回状态(值) 1.列目录内容(ls) dir 2.建立目录(mkdir) md / mkdir 3.删除目录(rmdir) rd / rmdir 4.改变工作目录(cd) cd / chdir 5.显示当前目录(pwd) cd
(11)将命令行参数中的字符串或变量的值写到标准输出。默认情况下,每个echo命令执行完毕后会产生一个换行符,如果不带参数执行此命令,将输出一个空行。用法为:
echo [options] string ... 参数说明-e:用于处理转义字符;-n:用于抑制默认的换行符;-E:用于抑制对转义字符的处理 $ echo Hell I am echo . #显示字符串常量 #不处理转义字符 $ echo -E "My cell phone number is:\n13903750000" #处理转义字符 $ echo -e "My cell phone number is:\n\t13903750000" $ echo -n "I am student, " #不处理换行 $ echo "My name is Bill Joy" #以上命令的输出在同一行上
(12)read从标准输入上读入一行,并将它读到的内容按分隔符分隔的字符串传递给相应变量。若值的个数大于变量个数,则多余的部分赋给最后一个变量;若值的个数小于变量个数,则后面多余的变量被置空。如果没有指定变量名,则默认使用REPLY作为变量名。用法为:
read [-d delim] [ -n num] [-p prompt] [-r] [-s] [-t time] var1 var2 …
(13)进程树及进程状态查询(pstree)
# pstree #显示系统进程树 # pstree -p| more #分屏显示系统进程树 # pstree -p | grep vsftpd #查询进程vsftpd # pstree user #显示指定用户(比如root)的进程
Linux操作系统的领域就像一片未被勘探的信息大海,引领你勇敢踏入开源系统的神秘领域。这是一场独特的学习冒险,从基本概念到系统架构,逐步揭示更深层次的操作系统原理、命令行工具和高级系统管理的奥秘。