提示符
$
为一般账户,#
为root账号快捷键
tab
可作为
(1)命令补齐
(2)档名补齐
(3)参数项补齐ctrl+z
暂停正在运行的程序ctrl+c
终止正在运行的程序ctrl+r
搜索输入过的命令ctrl+s
停止滚屏ctrl+q
恢复滚屏命令通配符
*
匹配零个或多个?
匹配任意一个字符[0-9]
匹配一个数字范围[abc]
匹配离别里任何字符[^abc]
匹配列表外字符常用命令
切换用户
su -
切换到root用户,并新建一个新环境exit
退出当前用户id
显示当前用户信息passwd
修改当前用户密码查看命令
history
列出输入过的命令作业管理
- 命令后加
&
表示后台运行。如firefox &
代表后台打开一个火狐 jobs
查看所有后台运行的程序bg
将程序放到后台运行
如:bg 1
将任务号为1的任务放到后台运行
【注】若前台任务只有一个,可省略任务号参数fg
将后台程序放到前台运行
网络命令
wget
用于下载网络文件.
格式:wget [参数] 下载地址
| 参数 | 作用 | |
| —— | ————————- | —— |
| -b | 后台下载 | |
| -O | 下载到指定目录 | |
| -t | 最大尝试次数 | |
| -c | 断点续传 | |
| -p | 下载页面内所有资源,包括图片、视频 | |
| -r | 递归下载 | |
elinks
用于实现一个纯文本界面的浏览器
格式:elinks [参数] 网址
文件目录命令
pwd
(print working directory)
显示当前的工作目录
格式:pwd [参数]
| 参数 | 作用 | |
| —— | ————————- | —— |
| -p | 显示真实路径(即非快捷链接的地址) | |
touch
- 创建空白文件
- 修改文件时间
对于Linux中的文件有三种时间:- 更改时间(mtime):内容修改时间(不包括权限的)
- 更改权限(ctme):更改权限与属性的时间
- 读取时间(atime):读取文件内容的时间
参数 | 作用 | |
---|---|---|
-a | 修改“访问时间”(atime) | |
-m | 修改“更改时间”(mtime) | |
-d | 同时修改atime和mtime |
mkdir
创建文件夹
格式:mkdir [参数] 目录
| 参数 | 作用 | |
| —— | —————————- | —— |
| -m | 默认的文件目录权限,如-m 755
| |
| -p | 连续创建多层目录(若文件夹已存在则忽略 | |
| -v | 显示创建的过程 | |
cp
复制文件或目录
格式:cp [参数] 源文件 目标文件
三种情况:
- 目标文件是一个目录,将源文件复制到该目录中
- 目标文件是一个文件,将源文件覆盖该文件
- 目标文件不存在,将会复制源文件并修改为目标文件的名称(重命名)
| 参数 | 作用 | |
| —— | —————————— | —— |
| -p | 保留原始文件的属性 | |
| -d | 若对象为链接文件,则保留该链接文件的属性 | |
| -i | 若目标文件存在则询问是否覆盖 | |
| -a | 相当于上述-pdr参数 | |mv
- 移动文件
- 对文件或目录重命名
格式:mv [参数] 源文件 [目标路径|目标文件名]
如果目标文件是到某一目录文件的路径,则源文件会移动到此目录下,且文件名不变。
如,将目录/usr/men
中所有的文件移动到当前目录(.
表示)mv /usr/men/* .
- 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。
- 如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。
- 当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。
如将文件ex2
改为new1
mv ex2 new1
参数 | 作用 | |
---|---|---|
-b | 若需覆盖文件,则覆盖前先备份 | |
-f | 若目标文件或目录与现有文件或目录重复,则直接覆盖现有的文件或目录 |
rm
(remove)
删除文件或目录
- 删除普通文件并提示确认信息
rm 文件名
- 删除普通文件或目录文件
rm -rf 文件名或目录名
切换工作路径cd
(change directory)
格式:cd [目录]
| 参数 | 作用 | |
| ————- | —————————————————— | —— |
| - | 切换到上次的目录,如cd -
| |
| ~ | 切换到家目录,直接cd
也可以回到家目录 | |
| ~username | 切换到其他用户的家目录,如cd ~teak
切换到teak用户的家目录 | |
| .. | 切换到上级目录,如cd ..
| |
查看目录中有哪些文件ls
格式:ls [参数] [文件]
| 参数 | 作用 | |
| ———- | —————————- | —— |
| -a | 查看全部文件(包括隐藏文件) | |
| -d | 仅显示目录名,而不显示目录下的内容列表 | |
| -l | 显示文件的详细信息 | |
| —color | 使用不同颜色高亮不同的文件类型 | |文本文件编辑命令
查看纯文本文件(较短的)cat
(concatenate)
格式:cat [参数][文件]
| 参数 | 作用 | |
| —— | ————————- | —— |
| -n | 显示行号 | |
| -b | 显示行号(不包括空行) | |
| -A | 显示不可见的符号,如空格,tab键 | |
查看纯文本文件(较长的),一般用more
more
分屏显示
| 快捷键 | 作用 | |
| ———- | —————- | —— |
|space
| 显示下一屏 | |
|enter
| 只显示文本的下一行内容 | |
|b
| 显示上一屏 | |
|q
| 退出more命令 | |
参数 | 作用 | |
---|---|---|
-d | 显示提示语句与信息 |
less
查看纯文本文件,与more
类似,但是less
可以向上向下翻页,more
只能向下翻页
tail
显示文件的末尾几行
| 参数 | 作用 | |
| —— | ——————————————————— | —— |
| -f | 追踪显示文件更新。(一般用于查看日志,该命令不会退出,持续显示先加入的文本) | |
系统状态检测命令
ifconfig
(interfaceconfig)
用于获取网卡配置与网络状态等信息。
格式:ifconfig [网络设备] [参数]
uname
(Unix name)
查看系统内核版本信息
格式:uname [-a]
如果想查看系统详细版本信息查看redhat-release
文件# cat /etc/redhat-release
who
查看当前登入主机的用户情况
格式:who [参数]
last
查看所有系统的登入记录
格式:last [参数]
uptime
查看系统的负载情况watch -n l uptime
每秒刷新一次获得当前的系统负载情况,输出内容分别为系统当前时间
、系统已运行时间
、当前在线用户
、平均负载值
free
显示当前系统中内存的使用情况
格式:free [-m/-g]
以MB为单位或以GB为单位显示
查看硬件信息命令
lspci
查看PCI设备
| 参数 | 作用 | |
| —— | ————- | —— |
| -v | 查看详细信息 | |
| -b | 以总线为中心的视图 | |
lsusb
查看USB设备
| 参数 | 作用 | |
| —— | ——— | —— |
| -v | 查看详细信息 | |
lsmod
查看加载的模块(驱动)
归档解压命令
tar
对文件压缩或解压
格式:tar [参数] [文件名]
| 参数 | 作用 | |
| —— | ————— | —— |
| -c | 创建压缩文件 | |
| -x | 解压缩文件 | |
| -t | 查看压缩包内的内容 | |
| -z | 用Gzip压缩或解压 | |
| -v | 显示压缩或解压的过程 | |
| -f | 目标文件名 | |
| -C | 制定解压到的目录 | |
【例】
将/etc目录内文件打包并通过gzip压缩
tar -czvf etc.tar.gz /etc
将etc.tar.gz文件解压到/root/etc目录中
mkdir /root/etc
tar -xzvf etc.tar.gz -C /root/etc
zip
压缩文件
格式:zip 目标文件 源文件
unzip
解压缩zip文件
格式:unzip 文件
查找命令
find
查找指定目录下的文件。
格式:find 查找位置 参数
| 参数 | 作用 | |
| —————— | —————————- | —— |
| -name<范本样式> | 指定字符串作为查找文件或目录的范本样式 | |
| -perm<权限数值> | 查找符合指定的权限数值的文件或目录 | |
| -user<拥有者名称> | 查找符合指定的拥有者名称的文件或目录 | |
| -type<文件类型> | 查找符合指定的文件类型的文件 | |
【例】
- 在
/home
目录下查找以.txt
结尾的文件名
find /home -name *.txt
2.当前目录及子目录下查找所有以.txt
和.pdf
结尾的文件
find . -name *.txt -o -name *.pdf
3.根据文件类型搜索find . -type 类型参数
| 参数 | 说明 | |
| —— | —— | —— |
| f | 普通文件 | |
| l | 符号链接 | |
| d | 目录 | |
| c | 字符设备 | |
| b | 块设备 | |
| s | 套接字 | |
4.找出/home
下不是以.txt
结尾的文件find /home ! -name *.txt
- 基于目录深度搜索
向下最大深度限制为3find . -maxdepth 3 -type f
搜索出深度距离当前目录至少2个子目录的所有文件find . -mindepth 2 -type f
6.根据文件时间搜索
搜索最近七天内被访问过的所有文件find . -type f -atime -7
搜索恰好在七天前被访问过的所有文件find . -type f -atime 7
搜索超过七天内被访问过的所有文件find . type f -atime +7
搜索访问时间超过10分钟的所有文件find . -type f -amin +10
7.根据文件大小搜索
| 参数 | 说明 | |
| —— | ———— | —— |
| c | 字节 | |
| w | 字(2字节) | |
| b | 块(512字节) | |
| k | 千字节 | |
| M | 兆字节 | |
| G | G字节 | |
搜索大于10kb的文件find . -type f -size +10k
搜索小于10kb的文件find . -type f -size -10k
搜索10kb的文件find . type f -size 10k
8.删除匹配文件
删除当前目录下所有的.txt
文件find . -type f -name *.txt -delete
9.根据权限或所有者搜索
搜索当前目录下权限为777的文件find . -perm 777
搜索当前目录下权限不是644的php文件find . -name *.php ! -perm 644
搜索当前目录用户 tom
拥有的所有文件find . -user tom
搜索当前目录用户组sunk
拥有的所有文件find . -group sunk
10.搜索所有长度为0的文件find . -empty