Fork me on GitHub

Linux 系统常用命令

命令格式

命令格式: 命令 [-选项] [参数]
例: ls -la /etc
说明

  • 个别命令使用不遵循此格式
  • 当有多个选项时,可以写在一起
  • 简化选项与完整选项 -a 等于 –all

文件处理命令

目录处理命令

ls 查看目录

英文原意:list
命令所在路径:/bin/ls
执行权限: 所有用户
功能描述:显示目录文件
语法: ls [-ald] [文件或目录]

  • -a 显示所有的文件,包括隐藏文件,隐藏文件以.开头
  • -l 详细信息显示
  • -d 查看目录属性
  • -h 人性化选项,可以显示
  • -i 查询文件的 i 节点,可以理解为文件的ID或者索引号码
    文件属性主要包含7个方面的内容:[权限][索引[ 所有者][用户组][\文件大小][最后修改时间][名称],权限描述Linux 将文件的访问属性分为三类,所有者(u)、所属组(g)、其他人(o)。
    -rw-r–r–
  • 第一个字符 - 代表文件类型 (- 二进制文件 d 目录 l 软连接文件)
  • rw- r– r–
    • rw- 代表 u 所有者的权限
    • r– 代表 g 用户组的权限
    • r– 代表 o 其他用户的权限
      r 代表具有读权限 w 代表具有写权限 x代表具有执行的权限(命令和脚本有意义)

mkdir 目录创建命令

英文原意: make directories
所在路径:/bin/mkdir
执行权限:所有用户
语法 : mkdir [-p] [目录名称]

  • -p 递归创建
  • -m 或 –mode 建立目录同时设置目录权限
    1
    2
    3
    4
    5
    mkdir -p /tmp/china/quzheng
    # 可以使用 mkdir 一次创建多个文件
    mkdir /tmp/china/quzheng / /tmp/china/quzheng2
    # 创建目录,所有者有读、写和执行权限,其他人无权访问
    mkdir -p-m 700 /tmp/quzheng

cd 移动目录

英文原意: change directory
执行权限:所有用户

1
2
3
4
5
6
7
8
9
10
11
12
#进入用户主目录;
cd
#进入用户主目录;
cd ~
#返回进入此目录之前所在的目录;
cd -
#返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ..
#返回上两级目录;
cd ../..
# 把上个命令的参数作为cd参数使用。
cd !$

pwd 显示当前目录

英文原意: print working directory
命令所在路径:/bin/
执行权限:所有用户

1
pwd

rmdir 删除空目录

英文原意: remove empty directory
命令所在路径:/bin/
执行权限:所有用户

1
rmdir /tmp/quzheng

cp 复制文件或目录

英文原意: copy
命令所在路径:/bin/
语法:cp -rp [原文件或目录] [目标目录]

  • -r 复制目录
  • -p 保留文件属性
    1
    2
    3
    4
    5
    6
    7
    8
    #复制目录
    cp -r /tmp/quzheng /bin/
    #复制文件
    cp /etc/grub.conf /tmp
    #同时复制多个文件
    cp /root/install.log /root/install.log.syslog /tmp
    #复制同时修改名称
    cp /tmp/quzheng

mv 剪切文件改名

英文原意: move
命令所在路径:/bin/
语法: mv [源文件或目录] [目标目录]

1
2
3
4
5
mv /tmp/quzheng /root
# 剪切改名
mv /tmp/quzheng /root/quzheng2
# 当前目录改名
mv /tmp/quzheng /tmp/quzheng3

rm 删除文件和目录

英文原意: remove
命令所在路径:/bin/
语法: rm -rf [文件或目录]

  • -r 删除目录
  • -f 强制删除
    1
    2
    3
    4
    # 删除文件
    rm /tmp/confg.conf
    # 删除目录
    rm -rf /tmp/quzheng2

文件处理命令

touch 创建文件命令

命令所在路径:/bin/

语法: touch [文件名]

功能:有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件

1
2
#在当前目录下面创建一个quzheng的文件名
touch quzheng

如果想创建文件需要有空格的时候,必须使用双引号将文件引起来,在 Linux 里面除了代表根分区的 / 其他的符号都可以作为文件名

cat 查看文件内容

命令所在路径:/bin/

语法:cat [文件名][-nbs]

  • -n或-number:有1开始对所有输出的行数编号
  • -b或–number-nonblank:和-n相似,只不过对于空白行不编号;
  • -s或–squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
1
cat quzheng

tac 倒序显示文件内容

命令所在路径:/bin/

语法:cat [文件名][-nbs]

1
tac quzheng

more 分页显示文件内容

命令所在路径: /bin

语法:more [文件名]

  • f 或(空格) 翻页
  • Enter 换行
  • q 或者 exit 退出
1
more /etc/services

less 分页显示文件内容(可向上翻页)

命令所在路径: /usr/bin

语法: less [文件名]

  • f 或(空格) 翻页
  • Enter 换行
  • q 或者 exit 退出
  • PgUp 上翻页
  • 上箭头 向上一行
  • /关键字 查找 如果当前内容没有刻意点击 n
1
less /etc/services

head 显示文件前几行

命令所在路径:/usr/

语法: head [-n] [文件名]

  • -n 制定前多少行,默认前10行
1
head -n 20 /etc/servies

tail 显示文件末尾的几行

命令所在路径:/usr/

语法: tail [-nf] [文件名]

  • -n 显示最后多少行,默认后10行
  • f 动态显示新增加的内容

链接命令

ln 生成连接文件

英文原意: link

命令所在路径:/bin/

语法: ln -s\ [源文件][目标文件]

  • -s 创建软链接

软连接的特征:类似Windows 的快捷方式

  1. 权限:lrwxrwxrwx l 代表软链接
  2. 文件比较小
  3. /tmp/issu.soft->/etc/issue

硬链接的特征:

  1. 复制cp - p + 同步更新
  2. 源文件删除,硬链接还可以访问
  3. 通过 i 节点识别
  4. 不能跨分区
  5. 不能针对目录使用

文件权限

chmod 权限管理命令

英文原意: change the permissions mode of a file

命令所在路名: /bin

语法:

chmod [{ugoa} {+-=} {rwx},] [文件或目录] [mode=421] [文件或目录]

  • -R 地递归修改

权限的数字表示

  • -r —-4
  • -w —2
  • -x —1
1
2
chmod u+x,g+w /tmp/issue.bak
chmod 572 /tmp/issue.bak
权限 含义 文件 目录
r 读权限 可以查看文件内容 可以列出目录中的内容
w 写权限 可以修改文件 可以在目录中创建、删除文件
x 执行权限 可以执行文件 目录执行

只有文件的创建者和管理员可以改变文件的权限

chown 改变文件或目录的所有者

命令所在路径: /bin

英文原意: change file ownership

语法: chown [用户][文件或目录]

1
chown quzheng /tmp/issue.bak

只有管理员 root 可以操作该命令

chgrp 改变文件或目录的所属组

英文原意:

命令所在路径:/bin

语法: charp [用户组] [文件或目录]

1
chgrp dotnet /tmp/issue.bak

一个用户可以属于多个组,缺省组是他自己的名字

umask 显示、设置文件的缺省权限

umask [-S][权限值]

  • -S 以rwx 形式显示新建文件缺省权限
1
2
3
4
5
6
#
umask -S
# 已掩码的形式显示权限,022,777-022 = 755
umask
# 设置文件或文件夹的默认权限
umask 023

缺省创建文件是不具有可执行权限的

文件搜索命令

find 文件搜索命令

命令所在路径 :/bin

语法 : find [搜索范围] [匹配条件]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 在目录/etc 中查找文件 init
find /etc -name init
# 在目录/etc 中查找 包含 init 的文件
# * 匹配任意字符 ? 匹配单个字符
find /etc -name *init*
# 不区分大小写 -iname
find /etc -iname init
# 根据文件大小来查找 -size [+-=] 数据块大小
# linux 数据块大小是 512 字节
find /etc -size +1024
find /etc -size -1024
# -user 所有者
find /etc -usr quzheng
# -group 所属组
find /etc -group quzheng
# 根据时间访问
# -amin 访问时间 [+-=] 时间
# -cmin 文件属性 change [+-=] 时间
# -mmin 文件内容 modify [+-=] 时间
find /etc -cmin -5
## -a 表示 and 两个条件都满足
## -o 表示 or 任意满足一个
find /etc -size +163840 -a -size -204800
find /etc -size +163840 -0 -size -204800
## -exec/-ok 对搜索结果执行操作
find /etc -name inittab -exec ls -l {} \;
## -type 根据文件类型查找 f:文件 d:目录 l:软连接
find /etc -type f
## -inum 根据 i 节点查找

locate 文件搜索命令

命令所在路径:/usr/bin

语法:locate 文件名 [-i]

  • -i 搜索文件的时候不考虑大小写

在文件资料库搜索文件,优点就是快速,缺点是有可能没有收录到资料库。

tmp文件夹里面的文件是找不到的

1
2
3
locate quzheng
#升级资料库
updatedb

which 文件命令所在目录

命令所在路径:/usr/bin

语法:which 命令

1
which ls

whereis 文件命令所在目录及帮助文档路径

命令所在路径:/usr/bin

语法:whereis 命令

1
whereis ls

grep 在文件中搜索字符匹配的行并输出

命令所在路径:/usr/bin

语法:grep [-i-v] [关键词] [文件]

  • -i 不区分大小写
  • -v 排除制定字符串
1
2
3
grep multiuser /etc/inittab
grep -v ^# /etc/inittab

帮助命令

man 获取命令的帮助信息

英文原意: manual

所在路径:/usr/bin/man

语法: man [命令或配置文件]

1
2
3
4
man ls
man services
man passwd
man 5 passwd

帮助文件 1 代表命令 5是配置文件

whatis 得到命令的基本信息

语法 whatis [命令]

apropos 得到配置文件的简短信息

语法 apropos [配置文件]

–help 查看命令的参数

命令 –help

info 获取命令的帮助

help 获得Shell内置命令帮助

用户管理命令

useradd 添加新用户

命令所在路径 : /usr/sbin/

语法: useradd 用户名

1
useradd quzheng

passwd 设置用户密码

命令所在路径 :/usr/bin

语法: passwd 用户名

1
2
passwd quzheng
#输入两次密码

密码复杂度,大小写字母+数字,普通用户只能改自己的密码,管理员可以该所有人的密码

who 查看登录用户信息

语法:who

1
2
3
4
5
6
who
##结果
用户名 登录终端 登录时间
root tty1 2017-10-27 19:06
root pts/1 2017-10-28 09:26 (192.168.111.1)
# tty 本地终端 pts 远程终端

w 查看详细的登录用户信息

语法:w

1
2
3
4
5
6
7
8
9
10
w
#
系统运行时间 用户数 负载均衡CPU 1 2 5
10:23:53 up 2 days, 2:46, 2 users, load average: 0.00, 0.01, 0.05
空闲时间 上一次执行的命令
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 五19 15:17m 0.08s 0.08s -bash
root pts/1 192.168.111.1 09:26 1.00s 1.51s 0.42s w
[root@localhost ~]# uptime
10:24:18 up 2 days, 2:47, 2 users, load average: 0.00, 0.01, 0.05

压缩解压命令

压缩格式

gzip gunzip 压缩解压命令

语法:

1
2
3
4
5
gzip 文件名 # 压缩
gzip -d 解压文件名 #
gunzip 解压文件名

gzip 压缩和解压缩都不保留源文件

tar 打包压缩命令

语法:tar [-cxtzjvfpPN] 压缩后的文件名

  • -c 打包
  • -v 显示详细信息
  • -x :解开一个压缩文件的参数指令
  • -f 指定文件名
  • -z 打包同时gzip压缩
  • -j 打包同时以 bzip2 的格式压缩
1
2
3
4
5
tar -cvf /tmp/etc.tar /etc #仅打包,不压缩!
tar -zcvf /tmp/etc.tar.gz /etc #打包后,以 gzip 压缩
tar -jcvf /tmp/etc.tar.bz2 /etc #打包后,以 bzip2 压缩
tar -zxvf /tmp/etc.tar.gz /etc #解压缩 .tar.gz
tar -jxvf /tmp/etc.tar.bz2 /etc

zip unzip 压缩文件或目录

语法: zip 选项[-r] [压缩后的文件名] [文件或目录]

  • -r 压缩目录
1
2
zip quzheng.zip quzheng # 压缩文件
zip quzheng2.zip /quzheng2 # 压缩目录

bzip2 bunzip2 压缩解压缩

语法: bzip2 -k [压缩后的文件名] [压缩文件名]

  • -k 产生压缩文件后保留原文件
1
2
bzip2 -k boduo.bz2 boduo
bunzip -k boduo.bz2

网络命令

write 给用户发信息,以 Ctrl+D 保存结束

语法: write [用户名]

进入输入模式后退格 Ctrl + Backspace Ctrl+D 发送信息

Wall 给所有用户发送信息

语法: wall [信息]

ping 测试网络连通性

语法: ping 选项 IP地址

ifconfig 查看本机网络

mail 查看发送电子邮件

语法: mail [用户名]

Last 查看用户登录重启的日志

LastLog 查看用户最后一次登录信息

语法 : lastlog -u

1
2
lastlog -u uid
lastlog

traceroute 显示数据包到主机的路径

语法:traceroute 域名

netstat 显示网络相关信息

语法 netstat 选项

  • -t : tcp 协议
  • -u: upd协议
  • -l:监听
  • -r: 路由
  • -n: 显示IP地址和端口号
1
2
3
netstat -tuln # 查看本机监听的端口
netstat -an # 查看本机所有的网络连接
netstat-rn # 查看本机路由表

setup 工具包

该命令在其他版本的Linux 系统不存在,只有 ReaHat 系列的系统有

CentOS 7 已经没有了对网络的配置功能了

关机重启命令

shutdown 命令

语法: shutdown [选项] 时间

  • -c 取消
  • -h 关机
  • -r 重启
1
2
3
4
5
6
# 现在重启
shutdown -r now
# 现在关机
shutdown -h now
# 指定时间
whutdown -h 20:30

其他关机命令

halt

poweroff

init 0

重启命令

reboot

init 6

系统运行级别

系统运行级别代表系统启动时可以进入的系统级别

  • 0 关机
  • 1 单用户
  • 2 不完全多用户,不含NFS服务
  • 3 完全多用户
  • 4 未分配
  • 5 图形界面
  • 6 重启
1
2
3
4
# 查看修改系统默认运行级别
cat etc/inittab
#查询系统运行级别
runlevel

logout 退出登录命令

相当于锁屏

####

坚持原创技术分享,您的支持将鼓励我继续创作
显示 Gitment 评论