blueyi's notes

Follow Excellence,Success will chase you!

0%

Linux下常用命令与快捷键整理

Linux下面的一些常用命令和terminal的常用快捷键整理,并不断补充

系统信息

命令 功能
date 显示系统日期与时间
cal 显示本月月历
uptime 显示开机时数
w 显示在线用户列表
whoami 显示目前用户名
uname -a 显示系统核心信息
cat /proc/cpuinfo 显示CPU信息
cat /proc/meminfo 显示内存信息
df -h Disk Free,显示硬盘空间信息
du -h Directory Usage,以易读的方式显示目录的硬盘占用情况
du -sh 跟上面一样,但不会列出所有文件,只是文件夹的整体占用,可根据通配符*来列出子文件夹
free -m 显示内存与Swap区的用量
sudo fdisk -l 列出所有磁盘的详细信息

键盘快捷键

按键 说明
Enter 执行命令
显示前一个命令
Ctrl+R 搜索执行过的命令
Ctrl+Z 将执行中的命令丢到后台并暂停执行
Ctrl+C 中止执行中的命令
Ctrl+L 清除屏幕,同clear命令
命令|more 命令输出满一页暂停,空格翻页,按q跳出
命令|less 同more功能,但支持vim下的查看的命令快捷键
!! 再次执行上一个命令
命令 !$ 取上一个命令的参数当做此命令之参数
Esc + . 显示上一命令的参数、修改后执行
Ctrl+A 光标移回开头位置
Ctrl+E 光标移回最后位置
Ctrl+U 剪下光标前方所有文字并复制到暂存粘贴板
Ctrl+K 剪下光标后方所有文字并复制到暂存粘贴板
Ctrl+Y 从暂存粘贴板贴上Ctrl+U与Ctrl+K剪下的文字
Ctrl+T 对调光标左侧两个字元
Ctrl+W 删除光标前方的单词(Word)
Ctrl+D 退出Terminal,同exit命令
Ctrl+Shift+C 复制选中区域的文字到粘贴板
Ctrl+Shift+V 贴上粘贴板文字到Terminal里
选中、鼠标中键 先用左钮拖拉选取需要的文字后移动光标到新位置按中键 (两键鼠标则是同时按左右钮),选中文字会被复制到新位置。(linux下默认选中的文件会被复制到粘贴板中)

查看命令手册

按键 说明
man 命令 显示命令的手册内容(man=manual)
man -k 关键字 显示含有关键字的手册
man -t 手册主题 |ps2pdf –> 手册主题.pdf 将指定的手册输出成PDF档

搜索文件

命令 说明
grep 样式 文件s 在文件s里搜索符合样式的内容
grep -r 样式 目录 在目录里搜索符合样式的内容
grep 搜索字串 /dir 由dir目录开始搜索含有搜索字串的文件
命令|grep 样式 在命令的输出里搜索符合样式的内容,如:ps aux | grep smb
locate 文件 搜索符合的文件或目录;必须先用updatedb建立文件名索引。locate -b ‘\name’列出名为name的文件,没加反斜线的话,会列出所有含name的文件
which 可执行文件名 列出可执行文件名所在路径
find / -name 文件名 由根目录开始搜索文件名
find . -name 文件名 由当前目录开始搜索文件名,可以指定目录,文件名支持通配符

grep更多详情可以参考http://notes.maxwi.com/2016/02/19/linux-command-tools/#1

文件权限

命令 说明
chmod 权限数值 文件 变更文件或目录的存取权限为指定的权限数值; 数值为3个八进位数字,依序代表用户(u)、 群组(g)与其他用户(Other)权限,每个数字 可为4(或r,表示可读read)、2(或w,表示可写 write)或1(或x,表示可执行execute)。 chmod的ch是change,mod是mode
chmod 权限字串 文件 我们也可以用字串来指定权限:r、w或x, 字串前用+(加号)、-(减号)表示增加或移除, 或=(等号)直接指派权限
例:chmod 777 myfile 或chmod a+rwx myfile 设定myfile的存取权限为所有人皆可读、可写、可执行
例:chmod 755 myfile 第一个数字是设定用户权限具有所有权限(7=4+2+1), 第二个数字是设定群组权限具有读取与执行权限 (5=4+1),第三个数字设定其他人的权限为读取与 执行权限
例:chmod a+x myfile 所有人(all)增加执行权限
chown usr1:user2 file 更改文件或目录的用户及所属组

chmod和chown都可以跟参数-R来递归地修改文件夹及其子文件夹中的所有文件。

文件与目录相关命令

命令 说明
ls 显示目前所在目录的文件清单(ls=list)
ls -l 显示长格式以呈现更多文件信息
ls -al 以长格式显示包含隐藏文件在内的所有文件
ls -ahl 以长格式显示包含隐藏文件在内的所有文件,文件大小以易读的方式显示,例如mb
ls -F 附加文件类型,目录附加/,可执行文件附加*
cd 目录 切换目录到指定的目录(cd=Change Directory)
cd – cd 减号;切换目录到前一个目录
cd ~ 切换目录回家目录
mkdir [-p] 目录 建立目录,-p参数表示多级目录不存在时自动创建
pwd 显示目前位置(pwd=print Working Directory)
rm 文件 删除文件(rm=remove)
rm -r 目录 删除目录
rm -f 文件 或 rm -rf 目录 强制删除文件或目录
cp 文件1 文件2 复制文件1为文件2
cp -r 目录1 目录2 递归地复制目录1及其中的文件为目录2,目录2不存在时会建立
mv 文件1 文件2 文件2不存在时是改名,文件2存在且为目录时是移动
ln -s 实体文件 连结名 建立符号连结
touch 文件 变更文件时间为目前时间
cat 文件 显示文件内容(cat=concatenate,连接)
cat 文件1 文件2 > 文件3 连接文件1与文件3的内容并输出为文件3
more 文件 显示文件内容并做分页处理,通过空格翻页
less 文件 显示文件内容并做分页处理,支持vim下的查看命令快捷键
head 文件 显示文件开头10行内容
head -nn 文件 显示文件开头nn行内容
tail 文件 显示文件倒数10行内容
tail -nn 文件 显示文件倒数nn行内容

更符号连接可以参考这里:http://notes.maxwi.com/2016/08/03/linux-soft-hard-link/

压缩

命令 说明
tar -cf 文件.tar 要压缩的文件… 将指定的文件压缩到文件.tar(tar=tape archice,c=create)
tar -xf 文件.tar 解压缩文件.tar(x=extract)
tar -cfz 文件.tar.gz 把.tar文件再用GZip压缩
tar -xfz 文件.tar.gz 用GZip解压缩.tar文件
tar -zxvf 文件.tar.gz -C dir 用GZip解压缩.tar.gz文件到指定的目录dir
tar -cfj 文件.tar.bz2 把.tar文件再用BZip2压缩
tar -xfj 文件.tar.bz2 用BZip2解压缩.tar文件
gzip 文件 将文件压缩为文件.gz

其中tar后面可以直接接命令,而不需要-,v表示显示命令操作过程

网络

命令 说明
ifconfig [-a] 列出本机启动中的的网卡信息及ip,加上-a表示所有网上
ip a show 列出本机所有的网卡信息,新系统中通常用ip命令替换为ifconfig
ping [-c n] 主机 ping指定的主机,-c表示ping的次数,否则一直ping
whois 网域 显示网域主机信息
dig 网域 显示网域的DNS信息
host -a 网域 显示网域的DNS详细信息
sudo netstat 显示所有网络连接、路由表等网络信息,可配合grep使用
arp -an 查看本机arp缓存
nmap -sP 192.168.1.0/24 使用nmap扫描同一子网下的所有ip
wget 网址 下载网址文件
ssh 帐号@主机 用SSH登录主机
scp 帐号1@主机1:文件名1 帐号2@主机2:文件名2 用scp将主机1上的文件1拷贝到主机2上的文件2中,可省略其中一个主机,换为本地文件
scp -r 帐号1@主机1:文件夹1 帐号2@主机2:文件夹2 用scp递归地将主机1上的文件夹1及其中的内容拷贝到主机2上的文件夹2中,同样可活省其中一个主机,换为本地文件夹

进程管理

命令 说明
ps 显示工作中的所有进程
ps aux 显示所有进程
ps aux | grep 字串 过滤含有字串的进程
top 依CPU占用率显示进程信息,可通过按数据1键显示各核CPU的占用
kill 进程pid 删除指定pid的进程
killall 进程名 删除所有指定名称的进程
命令 & 命令后面跟&,让命令在后台执行
jobs 查看当前后台运行的命令,及其编号
ctrl + z 将当前命令暂停到后台
bg %jobnumber 让指定进程号的进程在后台运行(bg=background),不跟编号则执行最后一个命令
fg %jobnumber 将最近一个背景进程变更到前景(fg=foreground),不跟编号则执行最后一个任务

用户与组管理

其他科普内容

管道符号(|)

linux下shell中的竖线,即是unix中的航管道,其作用是command1 | command2 把第一个命令command 1执行的结果作为command2的输入传给command2
例如:

1
$ ls -sha | sort -nr

以易读的方式列出所有文件的大小,并按从大到小重排
ls的命令-s是列出文件大小,-h是以易读的方式显示文件大小,-a是显示所有文件。sort是排序,-n是根据字符串中的数据由小到大重新排序字符串,-r是反转排序结果。

管道支持多级级连操作

正则表达式

grep支持正则表达式的匹配,常见的比较强大的编辑器也都支持正则表达式,更多正则表达式可以参见:
http://notes.maxwi.com/categories/Regular-Expressions/

参考:
http://jdev.tw/blog/3599/linux-terminal-commands-and-shortcuts
补充并修正了原文中存在的很多问题

Welcome to my other publishing channels