壹. 基础命令行
一、命令手册
1.1 man
- 作用:查看命令手册页。
- 方法:
man xxxeg:man ls- 子方法
- 翻页:空格
space - 翻行:上下箭头
- 翻页:空格
- 进阶方法
- 查找相关命令:
man -k xxxeg: man -k termianl
- 查找相关命令:
- 子方法
二、遍历目录
2.1 cd
- 作用:切换目录
- 方法:
cd destination如果没有为cd命令指定目标路径,将会切换到用户主目录- 参数:
destination可以用两种表示:一种是使用绝对文件路径,另一种是使用相对文件路径- 绝对文件路径:
- 绝对文件路径定义了再虚拟目录结构中该目录的确切位置, 以虚拟目录的根目录开始,相当于目录的全名.
- 绝对文件路径总是以正斜线
/作为起始, 指明虚拟文件系统的根目录. 因此如果要指向usr目录所包含的bin目录下的用户二进制文件, 可以使用如下绝对文件路径:/usr/bin
- 相对文件路径:
- 相对文件路径允许用户指定一个基于当前位置的目录文件路径, 不以代表根目录的正斜线
/开始, 而是以目录名活是一个特殊字符开始
- 相对文件路径允许用户指定一个基于当前位置的目录文件路径, 不以代表根目录的正斜线
- 绝对文件路径:
- 子参数:
- 当前目录:
. - 当前目录的父目录:
..
- 当前目录:
- 参数:
2.2 pwd
- 作用:显示当前会话的目录.
三、文件和目录列表
3.1 ls
- 作用:显示当前目录下的文件和命令 按列字母排序
- 参数:
- 区分文件和目录:
ls -F- 后续为/则为目录,为*则为可执行文件. - 显示隐藏文件:
ls -a - 递归:
ls —R- 列出当前目录包好的子目录中的文件 - 显示长列表:
ls -l- 显示更多信息, 会显示:- 文件类型: 目录
d文件-字符型文件c块设备b - 文件权限
- 文件硬链接总数
- 文件属主的用户名
- 文件属组的组名
- 文件大小(字节)
- 文件名和目录名
- 文件类型: 目录
- 过滤输出列表:
ls -l my_script进行简单的文本匹配的字符串?代表一个字符*代表零个或多个字符
- 查看访问时间:
--time=atime - 只显示目录本身的信息:
ls -d - 查看文件、目录的
inode:ls -i
- 区分文件和目录:
- 参数组合:
ls -FR or ls -F -R
四、处理文件
4.1 touch
- 作用:创建空文件
- 方法:
touch file - 参数:
- 修改访问时间: `touch -a file
4.2 cp
- 作用:复制文件
- 方法:
cp source destination当source destination都是文件名时,cp命令将源文件复制成一个新文件, 并且以destination命名, 如果目标以存在cp命令不会提醒, 复制到目录下的时候尾部最好带着/ - 参数:
- 提醒是否覆盖已有文件:
cp -i - 递归复制整个目录内容:
cp -R
- 提醒是否覆盖已有文件:
4.3 mv
- 作用:异动或者重命名文件,不改变
inote编号和时间戳 - 方法:
mv a b - 参数:
- 提醒是否覆盖已有文件:
mv -i
- 提醒是否覆盖已有文件:
4.4 rm
- 作用:删除
- 方法:
rm file - 参数:
- 提醒是否真的删除文件:
rm -i - 强制删除:
rm -f - 进入目录删除其中文件:
rm -r
- 提醒是否真的删除文件:
五、处理目录
5.1 mkdir
- 作用:创建目录
- 方法: mkdir newdir
- 参数:
- 创建多个目录和子目录:
mkdir -p newdir/subdir/underdir
- 创建多个目录和子目录:
5.2 rmdir
- 作用:删除空目录
- 方法:
rmdir newdir
六、查看文件内容
6.1 file
- 作用:查看文件类型
- 方法:
file file
6.2 查看文件
6.2.1 cat
- 作用:查看整个文件
- 方法:
cat file - 参数:
- 加上行号:
cat -n - 给有文本行加上行号:
cat -b - 不显示制表符:
cat -T- 会以^T形式替代
- 加上行号:
6.2.2 more
分页工具,好于cat
6.2.3 less
more升级版 支持搜索
6.3 查看部分文件
6.3.1 tail
- 作用:显示最后几行信息,默认10行
- 方法:
tail file - 参数:
- 显示特殊行数:
tail -n 20 file / tail -20 file - 实时显示:
tail -f
- 显示特殊行数:
6.3.2 head
同tail
6.4 其他命令
6.4.sleep
睡眠sleep -n
6.5 history
查看历史命令
- !! 上调命令
- !n
history中的某行命令
6.6 alias
- 显示当前别名:
alias
贰. 系统命令行
一、探查进程
1. ps
- 作用:输出运行再系统上的所有程序的许多信息.
- 方法:
ps默认情况下,ps命令只会显示运行再当前控制台下的属于当前用户的进程.- 显示:进程
ID Process ID PID运行在哪个终端TTY以及进程已用的CPU时间
- 显示:进程
- 参数
Unix
| 参数 | 描述 |
|---|---|
-A |
显示所有进程 |
-N |
显示与指定参数不符的所有进程 |
-a |
显示除控制进程session leader和无终端进程外的所有进程 |
-d |
显示除控制进程外的所有进程 |
-e |
显示所有进程 |
-C cmdlist |
显示包含在cmdlist列表中的进程 |
-G grplist |
显示组ID在grplist列表中的进程 |
-U userlist |
显示属主的用户ID在userlist列表中的进程 |
-g grplist |
显示会话或组ID在grplist列表中的进程 |
-p pidlist |
显示PID在pidlist列表中的进程 |
-s sesslkist |
显示会话ID在sesslist列表中的进程 |
-t ttylist |
显示终端ID在ttylist列表中的进程 |
-u userlist |
显示有效用户ID在userlist列表中的进程 |
-F |
显示更多额外的输出(相对与-f参数而言) |
-O format |
显示默认的输出列以及format列表指定的特定列 |
-M |
显示进程的安全信息 |
-c |
显示进程的额外调度器信息 |
-f |
显示完整格式的输出 |
-j |
显示任务信息 |
-l |
显示长列表 |
-o format |
仅显示由format指定的列 |
-y |
不要显示进程标记process flag |
-Z |
显示安全标签信息security context |
-H |
用层次格式来显示进程(树状,用来显示父进程) |
-n namelist |
定义了WCHAN列显示的值 |
-w |
采用宽面输出模式,不限宽度显示 |
-L |
显示进程中的线程 |
-V |
显示ps命令的版本号 |
- 其他
BSD/GNU风格的参数类似. 具体还要看各自的shell类型.
2. top
- 作用:实时显示进程信息.
3. kill / killall
- 作用:结束进程.
- 方法:
kill PID/killall 进程名
4. jobs
显示后台模式的任务
二、监测磁盘空间
1. df
- 作用:显示设备上还有多少磁盘空间.
- 参数:
- 易读格式:
df -h
- 易读格式:
2. du
- 作用:显示当前目录下磁盘使用情况. 每行左边的数值是每个文件目录占用的磁盘块数
- 参数:
- 显示所有已列出文件总的大小:
-c - 易读:
-h - 显示每个输出参数的总计:
-s
- 显示所有已列出文件总的大小:
三、处理数据文件
3.1 sort - 排序数据
- 方法:
sort file- 默认按字符来执行标准的字符排序 - 参数:
- 按值排序:
sort -n - 按月排序:
sort -M
- 按值排序:
| 单破折线 | 描述 |
|---|---|
-b |
排序时忽略起始的空白 |
-C |
不排序,如果数据无需也不要报告 |
-c |
不排序,但检查输入数据是不是排序,未排序的话,报告 |
-d |
仅考虑空白和字母,不考虑特殊字符 |
-f |
默认情况下,会将大写字母排在前面,参数会忽略大小写 |
-g |
浮点数 |
-i |
忽略不可打印字符 |
-k |
排序从POS1位置开始,如果指定了POS2的话,到POS2位置结束 |
-M |
用三字符月份排名 |
-m |
将两个已排序数据文件合并 |
-o |
将排序结果洗出到指定文件中 |
-r |
反序排序 |
-z |
用NULL字符作为行尾,而不是换行符 |
3.2 grep - 搜索数据 egrep / fgrep
- 作用:查看在大文件中找一行数据, 会在输入或指定的文件中查找包含匹配指定模式的字符的行
- 方法:
grep [options] pattern [file] - 参数:
- 反向搜索:
grep -v - 显示行号:
grep -n - 有多少行含有匹配的模式:
grep -c - (或)多个匹配模式/正则也可以:
grep -e f -e t file
- 反向搜索:
3.3 压缩数据
| 工具 | 文件拓展名 | 描述 |
|---|---|---|
bzip2 |
.bz2 |
采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码 |
compress |
.z |
最初的Unix文件压缩工具,已经快没人用了 |
gzip |
.gz |
GNU压缩工具,用Lempel-Ziv编码 |
zip |
.zip |
Windows上PKZIP工具的Unix实现 |
gzip
gzip:压缩文件gzcat;用来查看压缩过的文本文件的内容gunzip:Y欧诺个来解压文件
3.4 归档数据
虽然zip命令能够很好将数据压缩和归档进单个文件, 但它不是Unix和Linux中的标准归档工具.
tar命令最开始是用来将文件写到磁带设备上归档的, 然而它也能把输出写到文件里,这种用法在Linux上已经普遍用来归档数据了.
- 方法:
tar function [option] object1 object2 ...function:定义了tar命令应该做什么-A: 将一个已有tar归档文件追加到另一个已有tar归档文件-c:创建一个新的tar归档文件-d:检查归档文件和文件系统的不同之处 从已有tar归档文件中删除-r:追加文件到已有tar归档文件末尾-u:将比tar归档中已有的同名文件新的文件追加到改tar归档文件中-x:从已有tar归档文件中提取文件
- 参数:
-C dir切换到指定目录-f file输出结果到文件或设备file-j将输出重定向给把bzip2命令来压缩内容-p保留所有文件权限-V在处理文件时显示文件-z将输出重定向给gzip命令来压缩内容
3.5 协程
coproc command
3.6 改变安全性设置
3.6.1 改变权限
chmod options mode file 使用八进制模式或符号模式进行文件和目录的安全性设置 chmod 760 newfile
chmod [ugoa][+-=][rwxXstugo...]
对特定用户权限增加或减少对应权限
3.6.2 改变所属关系
chown options owner[.group] file