ps 命令:类似任务管理器,ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程实时监控,应该用 top 工具;
常用形式: ps -aux 和ps -ef
执行ps –aux 之后:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.1 1372 472 ? S 21:32 0:04 init
root 2 0.0 0.0 0 0 ? SW 21:32 0:00 [keventd]
…
USER 进程的属主;
PID 进程的 ID;( 是唯一的数值,用来区分进程)
PPID 父进程;
%CPU 进程占用的 CPU 百分比;
%MEM 占用内存的百分比;
NI 进程的 NICE 值,数值大,表示较少占用 CPU 时间;
VSZ 进程虚拟大小;
RSS 驻留中页的数量;
TTY 终端 ID
WCHAN 正在等待的进程资源;
stat 进程状态;(运行 R、休眠 S、僵尸 Z、停止或被追踪 T、死掉的进程 X、优先级较低的进程 N、
优先级高的进程<、进入内存交换 W、非中断休眠(常规 IO) D)
START 启动进程的时间;
TIME 进程消耗 CPU 的时间;
COMMAND 命令的名称和参数;
kill 命令:通常与ps 命令一起使用,常用的形式: kill -9 进程 ID(表示向指定的进程 ID 发送 SIGKILL 的信号。其中-9 表示强制终止,可以省略。它是信号代码,可以利用 kill –l 列出所有的信号。)
另外, pkill 进程名字(可以直接杀死指定进程名的进程)
top 命令:和ps 相比, top 是动态监视系统任务的工具, top 输出的结果是连续的。
命令行敲top后,检测界面如下,是动态的检测系统信息。
功能:改变工作目录。工作目录:当前左边的信息显示的目录
语法:cd [dirname]
说明:该命令将当前工作目录切换至dirname 所指定的目录。若没有指定 dirname, 则回到用户的主目录~。
为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。
该命令也可以使用通配符。
例如:假设用户当前目录是:/home/lry,现需要更换到/home/ lry/Linux 目录中。
$ cd Linux 此时,用户可以执行 pwd 命令来显示工作目录。 (相对路径的形式) 。
$ pwd /home/lry/Linux (绝对路径的形式)
cd .. 到父目录,即上一级目录,相当于“向上”
cd – 到上一次目录,相当于“后退”
cd / 到根目录
cd ~或者只写 cd 到用户主目录下~
功能:ls 是英文单词 list 的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需
要不时地查看某个目录的内容。该命令类似于DOS 下的 dir 命令。
语法:ls [选项] [目录或是文件]
说明:对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls 将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。
注意,linux 文件系统不是根据后缀来执行文件的,而是根据此文件有没有执行权限。
常用参数:
- a 显示指定目录下所有子目录与文件,包括隐藏文件。
- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“ .”和 “ ..”。
- i 在输出的第一列显示文件的 i 节点号。
- l 以长格式来显示文件的详细信息。这个选项最常用。
-d 列出目录本身
- p 在目录后面加一个“ /”。
- R 递归式地显示指定目录的各个子目录中的文件。
以-l长格式显示文件的详细时, 每行列出的信息依次是:
文件类型与权限链接数文件所有者文件属组文件大小最近修改的时间名字
对于符号链接文件,显示的文件名之后有“ —〉”和引用文件路径名。
对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
目录中的总块数显示在长格式列表的开头,其中包含间接块。
用ls - l 命令显示的信息中,开头是由 10 个字符构成的字符串,其中第一个字符表示文件类型, 它可以是下述类型之一:
? 普通文件
? d 目录
? l 符号链接
? b 块设备文件
? c 字符设备文件
? p 命名管道( FIFO)
? s socket 文件
后面的 9 个字符表示文件的访问权限,分为3 组,每组 3 位。
第一组表示文件所有者的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读、写和执行权限。
各权限如下所示:
r 读 ( 4)
w 写 ( 2)
x 执行 ( 1) 对于目录,表示进入权限。
- 没有设置权限。
另外:ls 输出内容是有颜色的,比如:目录是蓝色,压缩文件是红色的显示。如果没有颜色,可以加上参数:
--color=never 表示输出没有彩色,
--color=auto 表示自动,
--color=always 表示始终有颜色。
通配符在ls 命令中的应用:
* 代表 0 个或多个字符
[] 表示内部包括任何字符
?表示任何单个字符
如果需要更加详细的参数描述,可以通过如下三种方式获得ls 的帮助:
ls –-help
man ls
info ls
功能:创建一个目录
语法:mkdir [选项] dirname
说明:该命令创建由dirname 命名的目录。要求创建目录的用户在当前目录中 ( dirname 的父目录中)具有写权限,并且 dirname 不能是当前目录中已有的目录或 文件名称。
参数:
- m 对新建目录设置存取权限。也可以用 chmod 命令设置。
- p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
功能:将给出的文件或目录拷贝到另一文件或目录中。
语法:cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
参数:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录。
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和 f 选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答 y 时目标文件将被覆盖,是交互式拷贝。
- r 若给出的源文件是一目录文件,此时 cp 将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
功能:为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同DOS 下 ren 和 move 的组合。
语法:mv [选项] 源文件或目录 目标文件或目录
参数:
-i 交互方式操作。如果 mv 操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答 y 或 n,这样可以避免误覆盖文件。
-f 禁止交互操作。在 mv 操作要覆盖某已有的目标文件时不给任何指示,指定此选项后, i 选项将不再起作用。
如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下用mv 命令破坏另一个文件,建议用户在使用 mv 命令移动文件时,最好使用 i 选项。
需要注意的是,mv 与 cp 的结果不同。 mv 好象文件“搬家”,文件个数并末增加,而 cp 对文件进行复制,文件个数增加了。
例1:将/lry 中的所有文件移到当前目录(用“.”表示)中:
$ mv /home/lry/* .
例2:将文件 a.txt 重命名为 b.txt
$ mv a.txt b.txt
功能:在linux 中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用 rm 命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
语法:rm [选项] 文件…
说明:如果没有使用- r 选项,则 rm 不会删除目录。
参数:
- f 忽略不存在的文件,从不给出提示。
- r 指示 rm 将参数中列出的全部目录和子目录均递归地删除。
- i 进行交互式删除。
使用rm 命令要格外小心。因为一旦一个文件被删除,它是不能被恢复的。例如,用户在输入 cp,mv 或其他命令时,不小心误输入了 rm 命令,当用户按了回车键并认识到自己的错误时,已经太晚了,文件已经没有了。
为了防止此种情况的发生,可以使用rm 命令中的 i 选项来确认要删除的每个文件。如果用户输入 y,文件将被删除。如果输入任何其他东西,文件将被保留。
功能:查看文件内容
语法:cat [选项] [文件]
参数:
-b 对非空输出行编号
-E 在每行结束处显示$
-n 对输出的所有行编号
-s 不输出多行空行
重定向符号:
< 重定向输入
> 重定向输出
>> 添加输出
&> 错误和信息重定向
cat 常常与重定向一起使用。其中>表示创建, >>表示追加,<<表示以什么结束;
如果cat 的命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出。
linux 中创建空文件的四种方式:
方式1: [root@localhost ~]# echo > a.txt 活直接> a.txt
方式2: [root@localhost ~]# touch b.txt
方式3: [root@localhost ~]# cat > c.txt 然后按 ctrl+c 组合键退出;或 Ctrl+d
方式4: [root@localhost ~]# vi d.txt 进入之后: wq 退出。
umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)。
默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认权限是755(7-0,7-2,7-2)。
这里我们看到创建文件的默认权限是666减去umask的值。创建目录是默认的权限是777减去umask的值。
umask是为了控制默认权限,不要使默认的文件和目录具有全权而设的。
知道了umask的作用后,你可以修改umask的值了,例如:umask 024则以后建立的文件和目录的默认权限就为642,753了。
用法:
umask 不跟任何参数是查看系统当前的权限掩码值。
umask <4位/3位掩码值> 表示修改系统的掩码值。
作用:用于修改文件(夹)的权限。
最常用最简便的用法是chmod 777 文件(夹),此命令经常用到。如果出现权限不允许,可执行文件不能执行,文件夹不能访问等情况,则需要执行chmod 777 文件(夹)来解决。
语法:该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
文字设定法
形式如下:
chmod [who][+|-|=][mode] 文件名
//修改指定文件名中who的权限增加/去除/赋值为 mode
参数:
操作对象who 可是下述字母中的任一个或者它们的组合:
字母who | 含义 |
u | 表示“用户(user)”,即文件或目录的所有者。 |
g | 表示“同组(group)用户”,即与文件所有者有相同组 ID 的所有用户。 |
o | 表示“其他(others)用户”。 |
a | 表示“所有( all)用户”,它是系统默认值。 即chmod +x 1.c 表示所有人都有可执行的权限。 |
操作符号:
操作符号 | 含义 |
+ | 添加某个权限。 |
- | 取消某个权限。 |
= | 赋予给定权限并取消其他所有权限(如果有的话)。 |
设置mode 所表示的权限可用下述字母的任意组合:
字母mode | 含义 |
r | 可读 |
w | 可写 |
x | 可执行 |
当是组合的时候,前面的who 要指明。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r 文件(或目录)名。
2. 数字设定法
我们必须首先了解用数字表示的属性的含义:
数值 | 含义 |
0 | 表示没有权限 |
1 | 表示可执行权限 |
2 | 表示可写权限 |
4 | 表示可读权限 |
所以数字属性的格式应为3 个从0 到 7 的八进制数,其顺序是u、g、o。
例如,如果想让某个文件的所有者有"读/写"二种权限,需要把 4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为:
chmod [mode] 文件名
示例:
(1)文字设定法
例1:
$ chmod a+x sort
即设定文件sort的属性为文件所有者(u)增加执行权限与文件所有者同组用户(g)增加执行权限,其他用户(o)增加执行权限。
例2:
$ chmod ug+w, o-x text
即设定文件text 的属性为文件所有者(u)增加写权限与文件所有者同组用户(g)增加写权限,其他用户(o) 删除执行权限。
例3:
$ chmod a-x a.txt
$ chmod -x a.txt
$ chmod ugo-x a.txt
以上这三个命令都是将文件a.txt 的执行权限删除,它设定的对象为所有使用者。
(2)数字设定法:
例1:
$ chmod 644 a.txt
$ ls -l
-rwxr-x--- 1lry users 30128 Dec 15 10:52 a.txt
即设定文件a.txt 的属性为文件所有者(u)拥有读、写权限与文件所有者同组人用户(g) 拥有读权限,其他人(o) 拥有读权限。
例2:
$ chmod 750 a.txt
$ ls l
-rwxr-x--- 1lry users 30128 Dec 15 10:52 a.txt
即设定a.txt 这个文件的属性为文件主本人(u)可读/可写/可执行权与文件主同组人(g) 可读/可执行权,其他人(o) 没有任何权限。
下一小节:文件解压压缩相关指令