文章目录 命令速查表 系统 硬件 用户 登陆 文件 进程 安装包 文件权限 安装源(编译) 压缩/打包 搜索 网络 文件传输 磁盘使用情况 目录遍历 文件描述符 输出重定向 前后台 &(终端关闭,程序也关闭) nohup(终端关闭,程序继续运行) screen(创建独立会话) 快捷键 技巧
这个快速参考备忘单提供了使用 Linux 常用命令的使用清单
参考:
Linux命令大全搜索工具 (jaywcjlove.github.io) Linux命令大全(手册) (linux cool.com) MAN手册 - 中文 (debian.org) Linux 命令行速查表 (cheat-sheet.cn)
命令速查表
系统 :— :— uname
显示 linux 系统信息 uname -r
显示内核版本信息 cat /etc/os-release
显示 linux 系统详细信息 uptime
显示系统运行的时间(包括平均负载) hostname
显示系统主机名 hostname -i
显示系统的IP地址 last reboot
显示系统重新启动历史记录 date
显示当前系统日期和时间 timedatectl
查询和更改系统时钟 cal
显示当前日历的月份和日期 w
显示系统中当前登录的用户 whoami
显示您的登录身份 finger username
显示有关用户的信息 sed -ri 's/.*swap.*/#&/' /etc/fstab && swapoff -a
关闭swap
硬件 :— :— dmesg
显示启动消息 cat /proc/cpuinfo
CPU : 显示 CPU 的更多信息,例如型号、核心等cat /proc/meminfo
内存 : 显示硬件内存的更多信息df -h
磁盘空间 : 显示磁盘空间大小(单位G
)hdparm -i /dev/xda
磁盘 : 显示有关磁盘数据的信息lshw
显示有关系统硬件配置的信息 lsblk
显示块设备相关信息 free -m
显示系统中空闲和使用的内存,-m
(MB),-g
(GB) lspci -tv
在树状图中显示 PCI 设备 lsusb -tv
以树状图的形式显示 USB 设备 dmidecode
显示BIOS中的硬件信息 hdparm -tT /dev/xda <:code>
在设备xda上进行读速度测试 badblocks -s /dev/xda
测试磁盘上不可读的块
用户
:— :— id
显示活动用户的详细信息,如uid、gid和组 last
显示系统中的最后一次登录 who
显示谁已登录到系统 groupadd "admin"
添加组"admin" adduser "Sam"
添加用户 Sam userdel "Sam"
删除用户 Sam usermod
用于更改/修改用户信息
登陆
:— :— ssh user@host
使用指定用户安全连接到主机 ssh -p port_number user@host
使用指定端口安全地连接到主机 ssh host
通过SSH默认端口22安全连接到系统 telnet host
通过telnet默认端口23连接到主机
文件 :— :— ls -al
列出文件-包括常规文件和隐藏文件以及它们的权限 tree
以树形结构列出文件,常用参数有:-d
查看目录,-L num
查看num层文件,-a
查看隐藏文件 pwd
显示当前目录文件路径 mkdir 'directory_name'
创建一个新目录 rm file_name
删除一个文件 rm -f filename
强制删除文件 rm -r directory_name
递归地删除一个目录 rm -rf directory_name
强制并递归地删除一个目录 cp file1 file2
将file1的内容复制到file2 cp -r dir1 dir2
递归地将dir1复制到dir2。如果dir2不存在,则创建它 mv file1 file2
将file1重命名为file2 ln -s /path/to/file_name link_name
创建到file_name的软链接 touch file_name
创建一个新文件 cat > file_name
从键盘创建一个文件 more file_name
输出文件的内容 head file_name
显示文件的前10行 tail file_name
显示文件的最后10行 gpg -c file_name
加密一个文件 gpg file_name.gpg
解密文件 wc
打印文件中的字节、单词和行数 xargs
从标准输入执行命令
进程 :— :— ps
显示当前活动的进程 ps aux | grep 'telnet'
搜索进程’telnet’的id pmap
显示进程的内存映射 top
显示所有正在运行的进程 kill pid
使用给定的pid终止进程 killall proc
杀死/终止所有名为proc的进程 pkill process-name
向具有其名称的进程发送信号 lsof
列出进程打开的文件 # renice 19 PID
使进程以非常低的优先级运行 pgrep firefox
查找Firefox进程ID pstree
在树模型中可视化过程
安装包
:— :— rpm -i pkg_name.rpm
安装 rpm 包 rpm -e pkg_name
删除 rpm 包 dnf install pkg_name
使用 dnf 工具安装软件包
文件权限
:— :— chmod octal filename
将文件权限更改为八进制 chmod 777 /data/test.c
将rwx权限设置为owner、group和everyone(其他可以访问服务器 的人) chmod 755 /data/test.c
将rwx设置为所有者,将r_x设置为组和所有人 chmod 766 /data/test.c
为所有者设置rwx,为组和每个人设置rw chown owner user-file
更改文件的所有权 chown owner-user:owner-group file_name
更改文件的所有者和组所有者 chown owner-user:owner-group directory
更改目录的所有者和组所有者
安装源(编译)
:— :— ./configure
检查系统,以获得构建程序所需的软件。它将构建包含有效构建项目所需的指令的Makefile make
make install
编译后,该命令将二进制文件安装在默认/修改的路径中
压缩/打包
:— :— tar -cf home.tar home<:code>
创建名为"home"的存档文件。tar文件’home’ tar -xf files.tar
解压档案文件"files.tar" tar -zcvf home.tar.gz source-folder
从源文件夹创建压缩的tar存档文件 gzip file
压缩扩展名为.gz的文件 zip -r compressed.zip folder/
递归压缩目录folder
为压缩文件compressed.zip
unzip compressed.zip -d folder/
在目录folder
下解压文件 unzip -v compressed.zip
查看但不解压文件
搜索
:— :— grep ‘pattern’ files
在文件中搜索给定的模式 grep -r pattern dir
Search recursively for a pattern in a given directory locate file
查找文件的所有实例 find /home/ -name "index"
在/home文件夹中查找以’index’开头的文件名 find /home -size +10000k
在主文件夹中查找大于10000k的文件
网络 :— :— ip addr show
显示IP地址和所有网络接口 ip address add 192.168.0.1/24 dev eth0
将IP地址192.168.0.1分配给接口eth0 ifconfig
显示所有网络接口的IP地址 ping host
ping命令发送ICMP回送请求以建立到服务器 /PC的连接 whois domain
检索有关域名的更多信息 dig domain
检索关于域的DNS信息 dig -x host
对域执行反向查找 host google.com
执行域名的IP查找 hostname -i
显示本地IP地址 wget file_name
从在线资源下载文件 netstat -pnltu
显示所有活动监听端口
文件传输
:— :— scp file1.txt server2/tmp
安全地将file1.txt复制到/tmp目录中的server2 rsync -a /home/apps /backup/
将/home/apps目录中的内容与/backup目录进行同步
磁盘使用情况 :— :— df -h
显示安装系统上的空闲空间 df -i
显示文件系统上的空闲inode fdisk -l
显示磁盘分区、大小和类型 du -sh
以人类可读的格式显示当前目录中的磁盘使用情况 findmnt
显示所有文件系统的目标挂载点 mount device-path mount-point
挂载设备
目录遍历
:— :— cd ..
在目录树结构中向上移动一层 cd
将目录更改为$HOME目录 cd /test
将目录更改为/test目录
文件描述符 :— :— 0
标准输入 1
标准输出 2
错误输出 /dev/null
Linux的空设备文件,俗称“黑洞”
输出重定向 :— :— >
覆盖运算符 >>
追加运算符 >&
重定向合并运算符 command > filename
标准输出覆盖写入新文件 command 1> filename
标准输出覆盖写入新文件(同上) command 2> filename
标准错误覆盖写入新文件 command >> filename
标准输出追加到新文件 command 1>> filename
标准输出追加到新文件(同上) command 2>> filename
标准错误追加到新文件 2>&1
标准错误重定向到标准输出 1>&2
标准输出重定向到标准错误
前后台
&(终端关闭,程序也关闭) :— :— command &
使用后台进程模式执行 command Ctrl+Z
将当前进程放到后台(但程序是Stopped状态) jobs
查看任务(状态、ID等) fg n
将jobID为n的任务切到前台 运行 bg n
将jobID为n的任务切到后台 运行
nohup(终端关闭,程序继续运行) :— :— nohup command &
后台执行 command,标准输出到 nohup.out nohup command > log_file &
后台执行 command,标准输出到 log_file nohup command > log_file 2>&1 &
后台执行 command,标准输出和错误输出到 log_file nohup command > log_file 2>err_log &
后台执行 command,标准输出到 log_file,错误输出到 err_log ps/kill
查看进程/结束进程
screen(创建独立会话) :— :— screen -S my_session
创建一个名为 my_session 的会话 screen -ls
列出当前所有的 session screen -r my_session
重新连接 my_session 这个会话 screen -d my_session
脱离 my_session 这个会话 Ctrl+a+d
在 screen 中,脱离当前会话 exit
在 screen 中,退出并删除当前 screen -X -S my_session quit
删除 my_session 这个会话 screen -wipe
删除所有已经失效的会话
快捷键
命令行编辑 :— :— Tab
自动补全 Ctrl
+A
移动光标到命令行首 Ctrl
+E
移动光标到命令行尾 Ctrl
+Left
光标左移一个单词 Ctrl
+Right
光标右移一个单词 Ctrl
+K
删除光标之后所有字符 Ctrl
+U
清空当前键入的命令 Ctrl
+W
删除光标前的单词 Ctrl
+Y
粘贴 Ctrl
+ W
或 Ctrl
+ K
删除的内容 Ctrl
+D
删除当前光标所在字符 (在没有字符时会关闭终端) Ctrl
+B
(Left)光标左移(后退) Ctrl
+F
(Right)光标右移(前进) Ctrl
+H
(Backspace)删除光标的前一个字符
其他 :— :— Ctrl
+L
清屏 Ctrl
+C
中断正在执行的程序 Ctrl
+R
按字符串寻找历史命令 Ctrl
+Z
将当前进程放到后台(但程序是Stopped状态) Shift
+Insert
粘贴 Ctrl
+PageUp
屏幕输出向上翻页 Ctrl
+PageDown
屏幕输出向下翻页 Ctrl
+P
(Up)上一条命令 Ctrl
+N
(Down)下一条命令
技巧
:— :— du -h / | sort -rh | head -20
最大20个文件 grep -Ev '^\s*($|#|;)' example.conf
查看去掉注释和空行 echo <passwd> | passwd root --stdin
单行改密码 find /data/app/tmp -mtime +30 -name "*.flv" -exec rm -Rf {} \;
删除30天前文件 for file in $(ls); do sed -i 's/nmg/sz/g' "$file"; done
当前目录修改字符串 ssh -NfR remote_port:localhost:local_port user@remote_server
ssh代理 find . -wholename "*.sh" -exec dos2unix {} \;
修复脚本格式错误 rsync -avz /source/ user@remote:/destination/
同步文件和目录到远程服务器 ,支持压缩和增量传输