一个非详尽的 Unix 命令列表
$man <command>
显示命令的联机手册页
$clear
清除终端屏幕
$pwd
返回工作目录名称
$echo <string>
将字符串写入标准输出
$printf <string>
格式化并打印字符串示例:print $ PATH $ printf“%s \ n”$ PATH
$uptime
显示系统运行的时间
$which <program>
在用户的路径中找到程序文件
$whereis <program>
检查指定程序的标准二进制目录,打印出来
FILES
$cd [directory]
更改目录常用的目录符号:
- 。 :当前目录
- ..:父目录
- 〜:主目录
- / : 根目录
$ls
-
$ ls -a:显示隐藏文件
-
$ ls -l:显示长列表
-
$ ls -1:每行显示文件名
-
$ ls -h:人类可读的格式
$ file 确定文件类型(例如 gzip)
阅读文件
$more
在一个时间
空格键的一个屏幕上显示文件的内容 :滚动到下一个屏幕; b =上一个屏幕
输入:滚动一行
h:帮助更多
q:退出帮助
$less <file>
Less 是一个类似于更多的程序,但它允许文件中的向后移动以及向前移动
$cat <file>
按顺序读取文件,将它们写入标准输出
$head [-number] <file>
显示文件的第一行
$tail [-number] <file>
显示文件的内容,或默认情况下,其标准输入,显示标准输出
- $ tail -f:实时查看文件中的更改
$touch <file>
设置文件的修改和访问时间。如果任何文件不存在,则使用默认权限创建
$tee <file>
将标准输入复制到标准输出。按 ctrl-d 停止添加内容
- $ tee -a:将输出附加到文件而不是覆盖它们
$mkdir <directory>
创建一个目录
$wc
显示每个输入文件或标准输入中包含的行数,字数和字节数
- wc -l:计算行数
- wc -w:计算单词
- wc -m:计算字符数
$diff <file1> <file2>
逐行比较两个文件。将仅打印不同的行。
$locate <file>
在磁盘上找到文件
- $ locate -q:抑制错误
$find <path> <expression> <action>
按名称或内容搜索文件
- $ find -name:按文件名查找
- $ find -size <+/- n>示例:查找当前目录中大于 10k $ find 的文件。 -size +10
$rm <file or directory>
删除<文件或目录>
- rm -f:跳过确认
- rm -i:批准每次删除
- rm -r:递归
示例:删除它的内容$ rm -r
$mv <source_file> <target_file>
重命名文件
$mv <source_file> <target_directory>
移动文件
- $ mv -i:不要覆盖现有文件
- $ mv -r:递归
示例:在$ mv 层次结构中向上移动目录..
$cp
复制同一台计算机中的文件/目录(使用 scp 命令复制到远程计算机)
- $ cp -i:不要覆盖现有文件
- $ cp -r:递归
示例:复制并重命名文件
$cp <file_name> <new_file_name>
示例:复制到目录
$cp <file_name> <directory_name>
示例:复制并重命名目录
$cp -R <directory> <new_directory>
示例:将特定类型的所有文件复制到目录
$cp *.txt <directory>
$ln -s <file> <link name>
创建文件的别名(链接)
- $ ln -s:创建一个软链接(一个跨机器运行的链接)
$sort <file>
对文件的内容进行排序 -r reverse sorts -n numeric sort
示例:对结果进行排序并将结果写入 sorted.txt $ sort | uniq -u> sorted.txt
$uniq [-ucd] filename(s)
寻找重复的行。必须先对数据进行排序
- $ uniq -d:只显示重复行的一个副本
- $ uniq -u:仅显示不重复的行
- $ uniq -c:输出每行前面出现的次数示例:显示连接多次的用户$ who | cut -d’’ - f1 | 排序| uniq -d
$grep <pattern> <file_name>
打印包含模式匹配的行。
- $ grep -i:执行不区分大小写的匹配
- $ grep -v:打印所有不包含正则表达式的行
- $ grep -r:递归搜索列出的子目录,并打印出模式出现的文件名
- $ grep -I:排除二进制文件
$tr `string1` [`string 2`]
搜索和替换工具。tr 只接受来自管道和重定向的输入。它不接受文件作为输入。
- tr -d:删除 string1 中所有出现的 CHARACTERS
示例:删除“;”$ cat a.txt |的所有出现后,将 a.txt 打印到屏幕 tr -d“;”
- tr -s:用单个字符替换出现的事件
示例:$ echoSSSS SS
| tr -sS``S
$tar
创建和操作流式存档文件。此实现可以从 tar,pax,cpio,zip,jar,ar 和 ISO 映像中提取,并可以创建 tar,pax,cpio,ar 和 shar 存档。
磁盘使用情况
$du [file or directory]
显示每个文件或目录的文件系统块使用情况。如果未指定文件/目录,则显示当前目录的块使用情况。
- $ du -a:文件和目录(默认只是目录)
- $ du -h:人类可读格式示例:显示磁盘使用情况,有序,仅 MB 文件$ du -h | grep -i“m \ t”| sort -n 示例:找出前 10 个最大的文件/目录$ du -a / var | sort -n -r | 头 –n 10
$df
显示可用磁盘空间
- $ df -h:人类可读格式
重定向和管道
重定向标准输出。如果文件存在,请不要覆盖文件 ! 重定向标准输出。覆盖文件(如果存在) &重定向标准输出和标准错误
示例:将命令输出重定向到文件中
$ls > result.txt
使用> / dev / null 文件来处理错误消息
示例:查找名为 my_file_name 的文件并将结果打印到〜/ find.txt; 隐藏错误(例如权限被拒绝)
$find / -name my_file_name.* > /dev/null > ~/find.txt
<重定向标准输入 >追加标准输出<command> >>:将输出附加到现有的结尾
<command> <:将输入重定向到文件中的命令
| 将标准输出重定向到另一个命令(管道)
示例:显示正在运行的进程的分页详细信息
$ps -ex | more
| :将 command1 的管道输出作为 command2 的输入(如果在管道中间需要输出文件,请使用 tee 命令)
示例:计算已连接用户的数量
$who | wc -l
PROCESSES
$ps
显示活动进程
- $ ps -e:显示有关该过程的信息
- $ ps -x:显示隐藏的进程
示例:按名称$ grep -l <process_name_regex>查找进程
$kill [-signal] pid
杀死一个过程。
一些比较常用的信号:
- 3:退出(退出)
- 9:杀戮(不可捕捉,不可忽视的杀戮)
- 15:TERM(软件终止信号)
$top
显示和更新有关进程的已排序信息有关可能的键列表,请参见手册页。常用密钥有:cpu,threads,ports
- $ top -o
$htop
显示和更新有关进程 USER&PERMISSIONS 的已排序信息
$sudo <command>
以超级用户身份执行命令
$su
(替代用户)以管理员身份打开会话
$exit
退出 root
$whoami
显示有效的用户 ID
$who
打印所有连接的用户名
$passwd
更改密码
$chmod <who> <operation> <permissions> <file or directory name>
更改对文件或目录的所有者/组访问权限
谁:你的用户; g 组; 其他; 一个以上
操作:+添加; - 去掉; = set(表示重置为空,仅设置指定的内容)
权限:rwx
示例:向组添加读/执行权限
$chmod g +rx <file>
例:
$chmod 743 <file>
请注意,要$ cd 进入目录,你需要 x 权限