Linux常用命令

提示符

  • $为一般账户,#为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 [参数] 网址

文件目录命令

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 | 制定解压到的目录 | |

【例】

  1. 将/etc目录内文件打包并通过gzip压缩

    tar -czvf etc.tar.gz /etc
  2. 将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<文件类型> | 查找符合指定的文件类型的文件 | |
【例】

  1. /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

  1. 基于目录深度搜索

向下最大深度限制为3
find . -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