Linux常用命令

目录

一、命令格式

二、常用命令

1. ls 命令

2. cd 命令

3. pwd 命令

4. mkdir 命令

5. touch 命令

6. 查看文件内容命令

6.1 cat 命令

6.2 more 命令

6.3 head 命令

6.4 tail 命令

7. echo 命令

8. cp 命令

9. mv 命令

10. rm 命令

11. which 命令

12. find 命令

13. grep 命令

14. wc 命令

15. | 命令(管道命令)

 16. systemctl 命令

 17. ln 命令

三、用户相关命令

1. 背景

2. useradd 命令

3. passwd 命令

4. userdel 命令

5. getent 命令

6. su命令

7. sudo 命令

8. groupadd 命令

9. groupdel 命令

10. id 命令

11. usermod 命令

12. chmod 命令

13. chown 命令

四、日期和时间命令

date 命令

五、主机名、ip和网络相关命令

1. ifconfig 命令

2. hostname 命令

3. hostnamectl 命令

4. ping 命令

5. wger 命令

6. curl 命令

7. netstat 命令

8. IP、端口号、协议介绍

六、进程管理和系统资源命令

1. ps 命令

2. kill 命令

3. free 命令

4. df 命令

七、文件上传下载命令

1. 前提:

2. rz 命令

3. sz 命令

八、压缩命令

1. tar 命令

2. zip 命令


一、命令格式

格式:command [-options] [parameter]

解释:命令名 [-选项] [参数]

注:中括号中的内容是可选择的


二、常用命令

1. ls 命令

解释:ls 来源于list(列表),用于查看当前目录下所有的子集

用法:

ls            # 相当于ls ./ 即:查看当前目录下的所有的子级(不包括隐藏)

ls -l         # 相当于ll 以行的方式展示当前目录下的子集详细信息

ll            # ls -l的简写形式,即:语法糖形式,结果如上
              # 语法糖:指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便        
              # 使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。

ls -a         # 显示当前目录下所有的子级(包括隐藏)

ls -al        # 以行的方式显示当前目录下所有的子级(包括隐藏)

ls -alh       # 以行的方式,人性化的现实显示当前目录下所有子级(包括隐藏)
              # 人性化:ls -al 命令显示的文件大小为字节数
              #       ls -alh 命令显示的文件大小不足1KB显示字节,超过会自动转换单位

ls 指定目录   # 查看制定路径下的子级

2. cd 命令

解释:cd 命令来源于change directory,改变目录 

用法:

cd 指定目录    # 切换到指定目录下

cd ~           # 返回家目录(登录用户所在的目录)

cd ../         # 返回上一级

cd -           # 在最近的两个目录之间进行切换

3. pwd 命令

解释:来源于print work directory,打印当前工作目录

用法:

pwd        # 打印当前所在的目录路径

4. mkdir 命令

解释:来源于make directory,制作目录(文件夹)

用法:

mkdir [-p] 目录    # 不加-p只能创建单级目录,如果写-p可以创建多级目录

5. touch 命令

解释:当文件不存在时,会创建新文件;当文件存在时,会修改文件的时间属性

用法:

touch 文件1 文件2 ……    # 在当前目录一次创建几个文件,文件名之间用空格分隔

touch 目录路径/文件1 目录路径/文件2    # 在制定路径创建文件

touch 已存在的文件名    # 会修改文件的时间属性

6. 查看文件内容命令

6.1 cat 命令

解释:直接查看文件所有内容

用法:

cat 文件路径        # 一次性显示所有文件内容

6.2 more 命令

解释:支持翻页查看文件内容

用法:

more 文件路径        # 空格:下一页;b(back):上一页
                     # enter:下一行;= :输出当前行数;q:退出

6.3 head 命令

解释:查看文件前面的内容

用法:

head -n 数字 文件路径    # 查看文件的前n(n为数字的值)行

head 文件路径            # 默认查看前10行

6.4 tail 命令

解释:查看文件后面的内容

用法:

tail -n 文件路径        # 查看文件后n(n为数字)行

tail -nf 文件路径       # 动态查看文件后n行,一般用于查看日志信息

tail 文件路径           # 默认查看文件后10行

7. echo 命令

解释:在屏幕上显示文字,也可以直接在文件中写入

用法:

echo 'hello world'            # 输出hello world在屏幕上

echo 'hello world' > 1.txt    # 用hello world这个字符串覆盖1.txt文件中所有内容    
                              # 如果1.txt不存在将直接创建文件,然后将内容写入

echo 'hello world' >> 1.txt   # 将hello world追加在1.txt文件内容最后面
                              # 如果1.txt不存在将直接创建文件,然后将内容写入


8. cp 命令

解释:来源于copy,拷贝

用法:

cp 文件1 文件2                # 将文件1复制为文件2,用空格连接

cp -r 目录路径A 目录路径B     # 拷贝文件夹,r(recursive 递归)

9. mv 命令

解释:来源于move,剪切

用法:

mv 文件名1 文件名2        # 改名

mv 文件名 目标路径        # 将文件剪切到目标路径下

10. rm 命令

解释:来源于remove,删除

用法:

rm -rf 文件或者目录路径    # 删除,r -> recursive 递归,f -> force 强制
                          # 如果不加f,再删除是会提示是否删除
                          # 如果不加r,将无法删除文件夹

11. which 命令

解释:查找二进制脚本所在的目录

用法:

which ls            # /usr/bin/ls

which ifconfig      # /usr/sbin/ifconfig

12. find 命令

解释:查找命名,主要是根据条件查找文件的

用法:

find 目录路径 -size +数字K/M/G   # 根据大小筛选文件
find / -size +100M              # 查找所有大于100M的文件

find 目录路径 -name 文件名      # 根据文件名进行查找
find / -name 'abc*'            # 查找所有以abc开头的文件
find / -name abc*              # 上诉格式可以省略最后的引号,因为路径不涉及到特殊符号,例:空格

13. grep 命令

解释:去文件中筛选出包含指定内容的所在行的全部内容

用法:

grep [-n] 关键字 文件路径

grep 'hello' 1.txt               # 去1.txt中找所有包含hello的行,并在屏幕显示出行内容
grep -n 'hello' 1.txt            # 去1.txt中找所有包含hello行,在屏幕显示内容的同时标记行数

14. wc 命令

解释:来源于word count单词,词频统计

用法:

wc [-c -m -l -m] 文件路径

格式解释:
        -c    统计字节数(包含换行符'\n')
              中文字符使用utf-8时,3个字符;使用GBK时,2个字符

        -m    统计字符数

        -l    统计行数,line

        -w    统计单词数,word

15. | 命令(管道命令)

解释:管道命令,可以把前面命令的执行结果当做后边命令的数据源来处理

用法:

cat 1.txt                # 查看1.txt文件内容

cat 1.txt | grep hello   # 查看1.txt文件内容,并过滤出包含hello的行

grep hello               # 效果同上

 16. systemctl 命令

解释:来源于system control,系统控制

用法:

systemctl status | start | stop | restart | enable | disable 服务名
#          状态     开启    停止    重启  开启开机自启动  关闭开机自启动

# 常用服务:NetworkManager    主网络服务
#          netword           副网络服务 
#          firewalld         防火墙
#          sshd              远程连接服务(协议)

 17. ln 命令

解释:来源于link files,建立链接

用法:

# 软连接:相当于创建了快捷方式
# 格式:ln -s 要被连接的文件或者目录路径 快捷方式名 (软连接方式)

ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 ip

# 硬链接:提高容错率

ln 文件名1 文件名2     # 两个硬链接文件,内容会自动同步,删除其中一个,另一个会被保留

三、用户相关命令

1. 背景

Linux系统和Mac系统、Windows系统一样,支持多用户登录。为了更好的管理多用户,就有了用户组和用户的概念,Linux中,root账号有最高权限。

2. useradd 命令

解释:新增用户

用法:

useradd 用户名        # root用户在/root目录下,普通用户在/home/用户名 下
                     # 创建用户是,如果不能指定分组,会默认创建一个和该用户名一模一样的组
                     # 然后把该用户放到这个组里

3. passwd 命令

解释:来源于password,修改用户的密码

用法:

passwd 用户名        # 回车之后修改会要求输入密码

4. userdel 命令

解释:来源于delete,删除用户

用法:

userdel [-r] 用户名    # 如果该用户的主组是随着用户一起创建,则删除用户时,会同时删除该组

5. getent 命令

解释:来源于get environment,获取

用法:

getent passwd        # 查询用户信息

cat /etc/passwd      # 效果同上

# 用户信息格式与解释
# 格式:zhangsan:X:1000:1000::/home/zhangsan:/bin/bash
# 解释:用户名:密码(无):用户组id:用户id:详细信息(无):账号的家目录:使用何种shell解析器


getent group                    # 查询所有用户组

cat /etc/group                  # 效果同上

# 注:
#  查看用户组信息,格式如下:
#        zhangsan:X:1000
#  解释:
#        用户组名:无密码:组id

6. su命令

解释:切换用户

用法:

su 用户名   # 切换到指定的用户,如果是root -> 其他账号,无需输入密码,否则都需要输入密码

7. sudo 命令

解释:借调权限(临时,默认5分钟)

用法:

sudo -i                            # 列出目前权限

sudo -u 用户名 vi 要编辑的文件      # 以用户名身份编辑目录下中的文件

8. groupadd 命令

解释:新增用户组

用法:

groupadd 用户组名                        # 新增用户组格式

9. groupdel 命令

解释:删除用户组

用法:

groupdel 用户组名                # 删除用户组
                                # 注:如果没有用户用该组作为主组,就可以删除组

10. id 命令

解释:查看用户的具体信息

用法:

id 用户名                        # 查看用户的具体信息格式

11. usermod 命令

解释:来源于user modify,添加分组

用法:

usermod -aG 用户组名 用户名        # aG:append Group:添加分组
                                  # 设置已经存在的账号到指定的分组中
                                  # -G 修改用户所属的附加群组。

useradd 用户组 -g 组名             # 新增用户,并添加到指定的组
                                  # 创建新用户的时候,直接分组
                                  # -g 修改用户所属的群组

12. chmod 命令

解释:设置权限

用法:

chmod [-R] 777 目录路径              # 设置目录及其所有子级位满权限
chmod 777 1.txt                     # 开满权限

chmod +x 1.txt                      # 给所有用户设置执行权

chmod u=rx,g=w,o=x 1.txt            # 注意多个权限之间,没有空格
                                    # user(属主)、group(属组)、other(其他)

13. chown 命令

解释:设置拥有者

用法:

# 格式:chown [-R] [用户] [:] [用户组] 文件或者目录路径

chown zhangsan 1.txt                     # 改1.txt属主为:zhangsan

chown :genus_group 1.txt                 # 改1.txt属组为:genus_group

chown zhangsan:genus_group 1.txt         # 属主为zhangsan,属组为genus_group

四、日期和时间命令

date 命令

解释:查看时间

# 格式:date [-d] [+日期格式]

date '+%Y-%m-%d %H:%M:%S'

# %Y:4位数的年 例:2024        %y:2位数的年 例:24
# %m:月    %d:日    %H:时    %M:分    %S:秒

date -d '1 day' '+%Y-%m-%d'        # 正数往后加,负数往前推

五、主机名、ip和网络相关命令

1. ifconfig 命令

解释:查看本机ip地址

用法:直接输入回车


2. hostname 命令

解释:查看本机主机名

用法:直接输入回车


3. hostnamectl 命令

解释:修改主机名

用法:

# 方式1
hostnamectl set-hostname 主机名                # 立即修改

# 方式2
vim /etc/hostname                              # 改完需要重启

4. ping 命令

解释:测试网络是否通畅

用法:

ping [-c 数字] 目标ip            # 循环发包,测试网络连接,不指定次数,就一直发送

5. wger 命令

解释:文件下载器,可以根据URL下载数据

用法:

wget 文件下载网址

6. curl 命令

解释:模拟浏览器,向URL发出请求,获取响应信息(html页面)

用法:

curl 网页                        # 结果打印到终端

curl 网页 >> my.txt              # 结果保存到文件中

7. netstat 命令

解释:显示网络状态

用法:

netstat -anp                        # all network port 所有网络接口

netstat -anp | grep 具体的端口号     # 查询具体端口号

8. IP、端口号、协议介绍

  • IP:设备在网络中的唯一标识
  • 端口号介绍:程序在设备上的唯一标识,范围:0~65535,其中0~1023已经被用作保留端口,尽量规避
  • 协议:通信规划

六、进程管理和系统资源命令

1. ps 命令

解释:显示当前进程的状态

用法:

ps -ef                             # 查看本机运行的所有进程

ps -ef | grep ssh                  # 查看ssh进程的信息

2. kill 命令

解释:强制关闭进程

用法:

kill -9 进程的pid                # 强制关闭指定的进程

# 进程的解释:指的是可执行程序文件,例如:*.exe

3. free 命令

解释:查看内存使用情况

用法:

free -h                    # 查看内存使用情况,-h 人性化展示

4. df 命令

解释:来源于:disk free,查看磁盘使用情况

用法:

df -h                    # 查看磁盘使用情况,-h 人性化展示

七、文件上传下载命令

1. 前提:

在Windows端使用Secure CRT、Xshell等SSH连接工具,输入命令

需要安装lrzsz插件

输入:yum -y install lrzsz


2. rz 命令

解释:从Windows上传

用法:

rz                         # 回车,选中要上传的文件即可

3. sz 命令

解释:下载到Windows

用法:

sz                                 # 要下载的文件名

八、压缩命令

1. tar 命令

解释:来源于 tarball,归档

用法:

# 压缩
tar [-zcvf] 压缩包名.tar.gz 要被压缩的文件

# 解压
tar [-zxcf] 压缩包名.tar [-c] 要压缩的路径

/*
参数解释:
    z    使用gzip格式,压缩出来的文件较小
    c    create 表示:新建,压缩
    x    表示解压
    v    verbase 显示具体压缩或者解压的过程
    f    file 表示文件
*/

2. zip 命令

解释:常用压缩格式

用法:

# 压缩
zip [-r] 压缩包名.zip 要被压缩的文件 文件夹...     # -r表示递归, 压缩是有文件

# 解压
unzip 压缩包.zip -d 要解压的路径                  # 这个-d等价于tar的-C

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值