一、Linux关机
shutdown -h 10 10min后关机
shutdown -h 10:00 10:00关机
shutdown -h now 或 halt 或 poweroff 立即关机
shutdown -r now 或 reboot 重启
二、文件管理与磁盘管理
2.1 ls:列出目录
-
- -l 列出文件及其属性
- -a 列出全部文件(包括隐藏文件)
- -d 仅列出目录本身,而不是列出目录内的文件数据(常用)
2.2 cd:切换目录
2.3 pwd:显示目前的目录
2.4 mkdir:创建一个新的目录
-
- -p 将文件递归创建起来
exp:mkdir -p test1/test2/test3
2.5 rmdir:删除一个空的目录
-
- -p 连同上级目录(空的)一起删除
2.6 cp:复制文件或目录
cp 来源档(source) 目标档(destination)
cp [options] source1 source2 source3 .... directory
-
- -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
- -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
- -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
- -r:递归持续复制,用於目录的复制行为;(常用)
2.7 rm: 移除文件或目录
-
- -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
- -i :互动模式,在删除前会询问使用者是否动作
- -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
2.8 mv:移动文件与目录,或修改文件与目录的名称
mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory
-
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
- -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
2.9 cat:由第一行开始显示文件内容
-
- -n 列出行号
2.10 tac: 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
2.11 head:只看头几行
-
- -n 显示前几行
2.12 tail: 只看尾巴几行
更改文件属性(文件属性详见菜鸟教程)
2.13 chgrp
chgrp [-R] 属组名 文件名 递归改变文件及其子文件的组名
2.14 chown
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
2.15 chomd
r:4,w:2,x:1,每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
chomd [-R] xyz 文件名
2.16 cmp:命令用于比较两个文件是否有差异
2.17 diff:命令用于比较文件(文件夹)的差异
-
- -c 显示全部内文并标注不同的地方
- -y 并排显示
- -w 忽略空格字符
2.18 file 命令用于辨识文件类型
2.19 find命令用来在指定目录下查找文件
find path -option [ -print ] [ -exec -ok command ] {} \;
-
- -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
- -amin n : 在过去 n 分钟内被读取过
- -anewer file : 比文件 file 更晚被读取过的文件
- -atime n : 在过去n天内被读取过的文件
- -cmin n : 在过去 n 分钟内被修改过
- -cnewer file :比文件 file 更新的文件
- -ctime n : 在过去n天内被修改过的文件
- -empty : 空的文件
- -gid n or -group name : gid 是 n 或是 group 名称是 name
- -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
- -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
- -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
- -type c : 文件类型是 c 的文件。-pid n : process id 是 n 的文件
- d: 目录
- c: 字型装置文件
- b: 区块装置文件
- f: 一般文件
exp: find . -name "*.c" 将目前目录及其子目录下所有延伸档名是 c 的文件列出来
2.20 paste:合并文件
paste file1 file2 file3
2.21 touch 修改文件或目录时间属性,若文件不存在则创建一个新的
touch file1
2.22 awk:是一种处理文本文件的语言,是一个强大的文本分析工具
-
- awk '{[pattern] action}' {filenames} # 行匹配语句 awk '' 只能用单引号
exp: awk '{print $1,$4}' log.txt # 每行按空格或TAB分割,输出文本中的1、4项
-
- awk -F #-F相当于内置变量FS, 指定分割字符
exp: awk -F , '{print $1,$4}' log.txt #使用","分割
-
- awk -v #设置变量
exp: awk -v a=1 '{print $1,$1+a}' log.txt #文本中第一列值+a
-
- awk -f {awk脚本} {文件名}
- awk {过滤条件}{文件名}
exp: awk '$1>2' log.txt #输出第一列大于1的列
-
- awk与内建变量(详见菜鸟教程)
- awk与正则表达式
awk '/re/' log.txt #输出含有re的行,~模式开始 !~模式取反,//内为正则表达式
awk '$4 ~ /re/' log.txt #输出从第4列起还有re的行
-
- awk 'BEGIN{IGNORECASE=1} /this/' log.txt 忽略大小写
- awk脚本
BEGIN{ 这里面放的是执行前的语句 }
END {这里面放的是处理完所有的行后要执行的语句 }
{这里面放的是处理每一行时要执行的语句}
2.23 df:磁盘使用情况
三、文档编辑
3.1 grep:用于查找文件里符合条件的字符串
-
- -c 或 --count : 计算符合样式的列数。
- -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
- -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
- -i 或 --ignore-case : 忽略字符大小写的差别。
- -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
- -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
- -v 或 --revert-match : 显示不包含匹配文本的所有行。
- exp:grep test test* #查找test为前缀的文件中还有test的文件
- grep -r updae file1/file2 #查找file2及其子文件
3.2 join:用于将两个文件中,指定栏位内容相同的行连接起来
join file1,file2
3.3 sort:对文件内容进行排序
sort file #以默认的方式将文本文件的第一列以ASCII 码的次序排列
sort -r file #以相反的顺序排序
3.4 unique:删除重复行
四、网络通讯
4.1 ifconfig
4.2 netstat:显示网络状态
-
- -a或--all 显示所有连线中的Socket。
- -n或--numeric 直接使用IP地址,而不通过域名服务器。
- -o或--timers 显示计时器。
- -p或--programs 显示正在使用Socket的程序识别码和程序名称。
- -t或--tcp 显示TCP传输协议的连线状况。
- -u或--udp 显示UDP传输协议的连线状况。
- -l或--listening 显示监控中的服务器的Socket。
五、系统管理
5.1 exit 退出终端或脚本
5.2 kill 用于删除执行中的程序或工作
kill 123456 #杀进程
kill -KILL 123456 #强制杀进程
kill -9 123456 #彻底杀进程
kill -HUP pid #使用信号
kill -l #显示信号
5.3 ps:显示当前进程 (process) 的状态
ps -A #显示所有进程信息
ps -u root #显示root用户进程信息
ps -ef #显示所有进程信息,连同命令行
5.4 su :变更账号
su 变更为root
su - accountname
5.5 free: 显示内存使用情况
六、备份压缩
6.1 gzip:文件经它压缩过后,其名称后面会多出".gz"的扩展名
gzip * #压缩目录下所有文件
gzip -dv * #解压目录下所有文件并显示过程
6.2 zip:文件经它压缩过后,其名称后面会多出".zip"的扩展名
-
- -d 从压缩文件内删除指定的文件。
- -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
- -i<范本样式> 只压缩符合条件的文件。
- -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
- 件的更改时间设成和该文件相同。
- -q 不显示指令执行过程。
- -r 递归处理,将指定目录下的所有文件和子目录一并处理。
- -u 更换较新的文件到压缩文件内。
- -v 显示指令执行过程或显示版本信息。
- -x<范本样式> 压缩时排除符合条件的文件。
exp: zip -r a.zip file/a #将路径下的所有文件和文件夹进行压缩
zip -dv a.zip a.c #删除a.zip中的a.c文件
6.3 tar:文件备份与还原
-
- -c或--create 建立新的备份文件。
- -d或--diff或--compare 对比备份文件内和文件系统上的文件的差异。
- -f<备份文件>或--file=<备份文件> 指定备份文件。疏文件。
- -t或--list 列出备份文件的内容。
- -u或--update 仅置换较备份文件内的文件更新的文件。
- -v或--verbose 显示指令执行过程。
- -x或--extract或--get 从备份文件中还原文件。
- -z或--gzip或--ungzip 通过gzip指令处理备份文件。