【Linux】之 命令大全

目录

一. 帮助指令

二、目录操作指令

三、日期时间类

四、用户权限管理 - root

五、文件属性

六、文件搜索类

七、压缩解压命令

八、磁盘查看和分区类

九、进程管理

十、系统定时任务- crontab 服务管理

十一、软件包管理 - 下载软件

十二、克隆虚拟机 


 

一. 帮助指令

        type 【指令】#查看该指令的类型

        1. 非 shell 内嵌指令

        man 【指令】 # 可查看该指令的详细信息

        【指令】 --help #非内嵌指令的帮助指令

        2. shell内嵌指令

        help 【内嵌指令】 

二、目录操作指令

1. pwd / cd 

        (1)简述:pwd 查看当前的位置的绝对路径 , cd 【路径】进入该路径目录

        (2) 基本语法

               pwd

                cd【路径】

        (3)cd其他用法

cd - 当前目录与上一次目录相互交换
cd ..回到上一级目录

2. ls

        (1)简述 :列举当前目录的所有内容

        (2)基本语法

ls 【选项】【目录或是文件】

常用选项

-a 表示全部列出,包括隐藏文件 (以 . 开头)

-h 长数据串列出,包含文件的属性与权限等等数据,对应位置的信息是

        1.文件类型与权限 2.链接数 3.文件属主 4.文件属组 5.文件大小用byte 来表示 建立或最近修改的时间 名.

-lh 显示当前目录下的所有文件的具体信息,字节大小 用单位表示

1ee7e641e1e24c5f8a105b6548bf81be.png

 

3. 创建文件夹和删除文件夹

        1. 创建文件夹 - mkdir

                基本语法

           1. mkdir 【文件夹名称】 #  在当前工作目录创建该文件夹

           2. mkdir 【文件夹1】 【文件夹2】 【文件夹3 】.. #在当前工作目录创建多个文件夹

           3. mkdir /路径/文件夹名  # 在该路径创建该文件名称 

           4. mkdir -p a/c/d         # 创建多级目录

        2. 删除目录

           1. rmdir 【文件夹名称】 #  在当前工作目录删除该文件夹

           2. rmdir 【文件夹1】 【文件夹2】 【文件夹3 】.. #在当前工作目录删除多个文件夹

           3. rmdir /路径/文件夹名  # 在该路径删除该文件名称 

           4. rmdir -p a/c/d         #删除多级目录

4. 创建空文件 -- touch

基本语法

 touch 【文件名】 # 在当前工作目录下创建一个空文件

 touch 【/路径/文件名】 # 在该路径下创建该文件

5. 复制文件或文件夹 -- cp 

        1. 基本语法

                cp [选项] source dest  # source 是源文件复制到dest下

                选项

                        -r 递归复制文件夹

                        -v 可查看执行的详细的命令

        注:不小心删除用户主目录 , 可以这条命令恢复

cp -R /etc/skel/ /home/用户名

6. 删除文件或目录 -- rm

        1.基本语法

                rm 【选项】文件/目录

选项 
-r递归删除文件夹
-f直接删除,不提示
-rf递归删除,且不提示
-v

显示指令执行的详细过程

7. 移动文件或重命名 --- mv

        1.基本语法

          1.   mv oldNameFile newNameFile  #重命名

          2. mv / temp / movefile  /新路径 

8. 查看文件内容

        1. 小文件 - cat 

                基本语法 cat 【选项】【文件名】

                        选项 -n 显示所有的行号,包括空格

        2. 中文件 - more 

              (1)  简述

                        more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件 的内容。more 指令中内置了若干快捷键,详见操作说明。

              (2)  基本语法 more 【文件名】

                快捷键

空格符表示反下一页
Enter表示看下一行
ctrl + f滚动查看下哟一页
q推出,不再看文件内容

                3. 大型文件 - less 分屏显示内容

                       (1) 简述

        less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加 强大,支持各种显示终端。less 指令在显示文件内容时, 并不是一次将整个文件加载之后
才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

                        (2)基本语法  less 【要查看的文件】

                        (3)快捷键

空格键

反下一页
pg up

上一页

pa on下一页
/字串
向下搜寻『字串』的功能;n:向下查找;N:向上查找

9. echo # 将内容输出到控制台

        1. 基本语法

        echo 【选项】 【内容】 # 选项 -e 表示支持转义字符 /

        echo【文件】# 将文件内容打印在控制台中

10. >  输出重定向  and 追加 >>

        1.j基本语法

 

(1)ls -l > 文件  (功能描述:列表的内容写入文件 a.txt 中( 覆盖写))
(2)ls -al >> 文件 (功能描述:列表的内容 追加到文件 aa.txt 的末尾)
(3)cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2)
(4)echo “内容” >> 文件 (功能描述 : 将内容追加到文件中)

11. head 

        简述

head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容。

        1. 基本语法

head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
# -n<行数> ,指定查看文件前几个行数

12. tail 

        简述

tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后 10 行内容
       
        1.基本语法
(1)tail 文件 (功能描述:查看文件尾部10行内容)
(2)tail -n 5 文件 (功能描述:查看文件尾部5行内容,5可以是任意行数)

(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)

#注:linux 系统会为硬盘上的所有文件赋予索引,底层根据索引,进而判断是否为同一个文件,使用 vim 编译器,tail -f   查看不到变化,因为通过 vim 编辑器 使该文件 索引变化

13. 软连接 - ln

        简述

        软链接也称为符号链接,类似于 windows 里的快捷方式,有自己的数据块,主要存放 了链接其他文件的路径
        
        基本语法
ln -s [原文件或目录]  [软链接名]  (功能描述:给原文件创建一个软链接)
# 删除软连接是使用 rm 软连接名
# 删除真实文件或目录 使用
rm 软连接名/

14. history 

        简述
   
查看已使用过的命令
 
        基本语法
 
history 
# history -c 清除历史命令

三、日期时间类

         1. 显示当前时间

date 

        date +%Y         # 显示当前时间的年份

        date +%m         #显示当前事件的月份

        date +%d         #显示当前时间的日期     

        date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
        2. 显示非当前时间
 
date -d 
       
(1)date -d '1 days ago' 显示昨天时间  days/hours
(2)date -d '-1 days ago'(功能描述:显示明天时间)
        3. 设置系统时间
 
date -s "时间" #通常是 "2022-8-16 15:30:59"
        4. 查看日历
 
                基本语法
 
cal #查看本年本月日历
cal -3         #显示当前月份 与上一个月份和下一个月份
1afa75db1ed34488b35bed665c3ba34f.png

四、用户权限管理 - root

  一、基本操作

        1. 添加新用户 - useradd

useradd 用户

useradd -g 组名 用户名

useradd -d 路径 用户名 # 指定主目录

        2. 设置密码
               
passwd 用户 
        3. 查看用户是否存在
 
id 用户名 
        4. 切换用户 -> 嵌套
 
su 用户名
返回上一次用户 exit
        5. 查看当前用户的信息
 
who  am  i # 查看最初始用户
whoami   #查看当前具体会话的用户
        6. 删除用户
 
userdel 用户名 # 不会删除主目录,删除x
userdel -r  用户名 # 删除主目录,删除系统用户
        7. sudo 获取root权限
 
sudo 【没有权限的命令】

1. 需要提前修改 /etc/sudoers 配置文件
2. 添加 用户名 ALL=(ALL) ALL
3. 在其中内容 以 % 开头代表一个组

   二、用户组管理

        1. 增加组 - groupadd 

groupadd 【组名】

        2. 修改组名 - groupmod

groupmod -n 【新组名】 【替换的组名】

        3. 删除用户组

groupdel 【组名】        

        4. 使用户添加到一个组

usermod -g 【组名】 【用户名】

        5. 查看创建了所有组

cat /etc/group

五、文件属性

     j简述

        linux 是多用户多任务的操作系统,每个用户在不同的地位 有 不一样的权限,Linux 对文件色设置了访问权限 , 我们可以用 ls -l 查看文件权限

        1. 文件权限类别

663610ef473e48f996f481a7034a53f5.png

 

1. 第0位数字,代表文件类型

        d                代表目录

        -                代表文件 

        l                代表连接文档

2. 第二组数字,代表当前用户对文件的权限

3. 第三组数字,代表该组的对其文件的权限

4. 第四组数字,代表其他用户的权限

 

rwx 作用与文件和目录的区别

                1. 作用到文件

                        r 代表可读

                        w 代表可写,但不代表可以删除,删除文件的前提是有该目录下的 w 权限

                        x 该文件可执行,可被系统执行

                2. 作用到目录

                         r 代表可读,可执行 ls 查看当前目录

                        w 代表可写,可以修改,目录内创建+删除+重命名目录

                        x  代表可以进入该目录 cd 

        2. 修改文件权限

                基本语法

        1. chmod [ {u/g/o/a} +-= rwx]  [文件名称或目录]  # 修改该文件的权限 ,u 代表文件属主,g代表文件属组,o表示文件其他用户 a 代表所有 , + 代表添加权限 - 代表删除权限 , = 赋值权限 r 代表可读,w代表可写,x代表可执行.

        2. chmod 【mode=421】 r : 4    w:2   x : 1

案列 改变文件hello的所有权限为rwx

        (1)chmod a = rwx hello

        (2) chamod 777 hello # 4 + 2 + 1 = 7

        3. 修改文件属主者

                基本语法

        chown  【选项】【最终用户名】【文件】 # 更改该文件的属主为最终用户名

选项 -R 代表递归操作,该目录下的所有文件或目录的属主都改为最终用户名

        4. 修改文件属组

                基本语法

chgrp 【最终组名】 【文件或目录】 # 把该文件属组规划为最终组名

六、文件搜索类

         1. find

                基本语法

find 【搜素范围】 【选项】

        选项 :

                        -name 【文件名字】

                        -name *.cfg #查找所有以cfg后缀的文件

                        -size 【文件的大小】 

                        -size +10k 代表查找大于等于10k的文件【

                                b —— 块(512 字节)
                                c —— 字节
                                w —— 字(2 字节)
                                k —— 千字节
                                M —— 兆字节
                                G —— 吉字节

                】

                        -user 《用户名》 查找属于用户的所有文件

        2. locate 

                简述

        在数据库中查找,速度很快,但查找前,要更新数据库 【updatedb】

                基本语法

locate 【你要检索文件的名字】 #查找包含名字字段的所有文件

        3. 内容过滤grep 和 管道符 |

                1. grep 在文件内容中查找

grep 【选项】 【查找的内容】 【文件】

        选项

                 -n 代表显示行号

2. grep [要检索的内容]

               2. 管道符 |

                表示前一个命令的处理结果输出传递给后面的的命令处理

                3. 单词统计 wc

8decf4bf92ff4311828dda60b884312c.png

第一个 代表行数

第二个 代表单词数

第三个 代表所占字节大小吗  

        3. xargs

                1. 可以接受 | 每次取出一个参数

                2. 选项 

-i{} 可以把得到参数代替{}
-n多行输出
-d自定义一个定界符
-I指定一个替换字符串{}
-t打印出 xargs 执行的命令
-p执行每一个命令时弹出

                    3. 案列

                                1) 复制 /etc下的所有以 .xml 文件 到 /home 下

find /etc -name '*.xml' | xargs -i cp -rvf {} /home 

 

七、压缩解压命令

        1.gzip/gunzip (不会打包)

gzip [想压缩的文件] # 压缩文件

gunzip 【解压的文件.zip] # 解压文件

                特点 

                        1. 只能压缩文件

                        2. 压缩后不保留原来文件

                        3. 同时多个文件会产生多个压缩包

        2. zip/unzip 压缩解压命令

基本语法

        zip 【选项】 【需压缩的文件】

        unzip 【选项】 【要解压的文件.zip】

选项 

        -d<指定目录>

        -r <压缩之后的名称> # 压缩目录

特点 

        不会影响原本文件

        3. tar 打包(归档)

基本语法        

        tar [选项] [指定打包的文件名]  要打包的文件.......

选项

        -c 产生打包文件

        -v 显示详细i信息

        -f 指定打包过后的文件名

        -z 打包同时压缩

        -x 解包.tar文件

        -C 解压到指定目录去

案列,打包压缩多文件

cd1df8dcbabe44e58b8f45fbbd06795b.png

 打包压缩目录

9fe45890c7be4e92ba28e31be839254a.png

解压 到当前目录

8b8f477f69ee48c5ac0b68173bcb4d85.png

 解压到指定目录

3a8f6ee594334219b1f547146e2fbf29.png

 

八、磁盘查看和分区类

        1. tree 查看全部目录下的所有目录和文件

        1. 在linux 安装 tree工具 【yum install tree】

1ffc34c223814b79ae38a5402434ae3c.png

 

2. du 命令 查看查看文件和目录占用的磁盘空间

du [目录或文件]

选项

        -h  以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

        -a 不仅要查看目录大小,还要查看当前文件

        -c 显示所有的文件和子目录大小后,显示总和

        -s 只显示占用磁盘的大小

        --max-depth=n 显示子目录第几层

可组合使用 -sh # 只查看

3. df 查看磁盘使用情况

        df -h

ce1525cf112e4aa2a3d3bd5b676f3b4a.png

         free -h #可以查看内存使用情况

d40836c6e9da40039849c8016f19fa60.png

 

  4. 查看设备挂载点情况

        1. lsblk

95838977057541cd85908a659abae8d4.png

lsblk -f #查看详细信息,文件系统

 7c5b2dddfd8a4670b74205b3dd9a8223.png

 

5. mount / umount  挂载/ 取消挂载

mount [-t vfstype] [-o options] device dir 

解读 :

                 -t vfstype  为文件类型,一般不用写,系统会分析

                 -[-o options]  为挂载的方式 ,默认只读 【ro 只读 rw 读写】

                device :要挂载的设备

                dir 设备在系统上的挂载点

案例:将光盘挂载到 text/cdmo ,首先保证 光盘已连接未挂载状态

7f9af9c62ef9403680814f9a7765bc94.png

 取消挂载

69cfa8caa73c461b954a8d89a5f34370.png

 配置 开启自动挂载 需要配置 /etc/fstab 配置文件

b83a43fee62d42069fb1638bc094473f.png

uuid 设备名 第二个就是挂载点 ,对于上述案列 ,可直接配置文件如下

/dev/cdrom                /text/cdom                  iso9660          default            0 0

6. 磁盘分区(对一个新硬盘 进行分区 挂载)

        1. fdisk  

                (1) fdisk -l  #查看磁盘分区详情

                (2) fdisk 【硬盘设备名】 # 对硬盘进行分区

                                1. 先创建一个新硬盘

.108eab81a8ab425b9e8f56b8ef8f0add.png

 2. 重启虚拟机 【reboot】

4e0457545729411aa62a0dca32057e22.png

 3. 指定文件系统 格式化 mkfs -t 【文件类型】 【设备名称】

5deeab68547f4677a346081ec7e48e18.png

4. 进行对磁盘sdb1 的挂载

ee14701fc9b74dfd9759e01d8440c7ae.png

 

5. 如果不需要 就取消挂载点,对应的就会消失

ed4dd236f6124226be13402556bd7054.png

九、进程管理

        1. ps 查看当前进程

基本语法

        1. ps aux | grep XXX

bd21372760da4dada714b1d6bcb84b8b.png

        2. ps -ef | grep XXX

71f66e8f7e4e4204898121d989b293e7.png

 

选项作用
a列出带有终端的所有用户的进程
u面向用户友好的显示方式
x列出当前用户的所有进程
-e列出所有进程
-u <用户名>列出关于某个用户的所有进程
-f显示完整列表形式

进程列表参数解读

        1. ps aux 解读

bd21372760da4dada714b1d6bcb84b8b.png

USER:该进程是由哪个用户产生的

PID:进程的 ID 号

%CPU:该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源;

%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源

 VSZ:该进程占用虚拟内存的大小,单位 KB;

RSS:该进程占用实际物理内存的大小,单位 KB;

TTY:该进程是在哪个终端中运行的。对于 CentOS 7 来说,tty1 是图形化终端, tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。

STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、 Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示

START:该进程的启动时间

TIME:该进程占用 CPU 的运算时间,注意不是系统时间 COMMAND:

COMMAND产生此进程的命令名

        2. ps -ef 列表解读

71f66e8f7e4e4204898121d989b293e7.png

UID:用户 ID

PID:进程 ID

PPID:父进程 ID

C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算, 执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高

STIME:进程启动的时间

TTY:完整的终端名称

TIME:CPU 时间

CMD:启动进程所用的命令和参数

使用技巧

        1. 如果先查看磁盘和内存占有率 使用 ps aux 

        2. 如果查看进程的父进程关系 使用 ps -ef

2. 终止进程 - kill

kill [选项] [进程号/PID]

        选项 :

                -9 #强制停止进程

killall [进程名] #关于该进程的所有进程全部关闭

        案例 : 踢出用户

a9f68c0009d84ffa8b3dd9fc33d75d19.png

 

3. 查看进程树 - pstree #更加清晰的查看进程之间的父子关系

1. 需要先安装  [yum pstree install ]  

基本语法

        pstree [选项]

选项:

        -p # 显示进程ID

        -u # 显示进程所属用户

337179f884a447348a51f2c2a197d9c8.png

 ec7872e633114a7da44e6335207d0329.png

4. 实时查看进程状态  -  top

基本语法

        top [选项]

选项

        -d <秒数> # 指定top 每隔几秒刷新一次,默认是三秒

        -i # 表示不i显示任何闲置或僵死状态‘

        -p #通过进程ID 来仅仅监控该进程

19446b392c5c43329ea6dd5aeabc081c.png

5. 显示网络状态和端口占用信息 - netstat

基本语法

        netstat - anp | grep 进程号  # 查看当前进程的网络服务

        netstat -nlp | grep 端口号 #查看网络端口占用情况

选项 

-a显示所有监听和未监听的socket
-n拒绝显示别名
-l仅列出正在监听的socket
-p表示哪个进程在调用

6f36defc9f604bd8b103fd77481f8737.png

 acfe1c4cb20849599469aee1ddc615a9.png

 

十、系统定时任务- crontab 服务管理

        1. 重新启动 crontab  服务

systemctl restart crontab

        2. crontab 定时服务设置

基本语法

        crontab 【选项】

选项

-l查询当前用户的定时任务
-e编辑用户的定时用户
-r删除当前用户的所有定时任务

           3. 设置你的定时任务

1. crontab -e 

        会进入vim 编辑器,来编辑您的任务

2. 参数说明

* * * * * 要执行的任务

第一个 *代表一个小时的第几分钟
第二个 * 代表一天的第几个小时
第三个 *代表一月中第几天
第四个 *

代表一年当中第几个月

第五个 * 代表一周的当中的星期几

        (2)特殊符号

*代表任何时间
,代表不连续的时间 (0 8,12,16)带包每天的8:00,12:00,16:00 都要执行命令
-代表连续时间的范围
*/n代表每隔n各时间段执行一次

        (3)列子

45 22 * * *命令表示每天的22点45分执行命令
10 12  * * 1每周一的12:10 都会执行该命令
0 5 1,15 * * *每个月第1天和第15天执行该命令

3. 案例,设置任务,每隔一分钟,向文件输入"hello word"

2cca15d21a2c43bfae01c0380fcc751f.png

     删除定时任务

 651f0f8d6a2f40d6a08525e2760b9b28.png

 

十一、软件包管理 - 下载软件

 一. RPM

     1. RPM 概述

           RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe 是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。

   2. RPM包的名称格式

       Apache-1.3.23-11.i386.rpm

        - “apache” 软件名称

        - “1.3.23-11”软件的版本号,主版本和此版本

        - “i386”是软件所运行的硬件平台,Intel 32位处理器的统称

         - “rpm”文件扩展名,代表RPM包

     3. 基本语法

          rpm -qa #查看所有安装rpm的软件包

          一般软件包很多,一般过滤查询 rpm -qa | grep rpm软件包

二、RPM卸载命令 (rpm -e)

  1. 基本语法

      1)rpm -e RPM软件包

       2)rpm -e --nodeps 软件包

             2. 选项说明

                   -e              #卸载软件包

                    [慎用]--nodes    #卸载软件,不检查依赖性,可能会卸载之后,与该软件相关的,也不能正常运行.

            3. 案例 :卸载 firefox

                  命令 : rpm -e firefox

三、RPM安装命令

         1. 基本语法

              rpm -ivh RPM软件包全名

          2.选项说明

               -i            #install 安装软件包

               -v           #verbose 查看详细信息

                -h         #增减进度条显示

            3. 案例:安装firefox

1. 需要知道firefox 的软件包全名

2. 进入   /run/media/root/CentOS 7 x86_64/Packages  

3. rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm

                RPM 缺点

                        1. 安装时 ,不能自动处理依赖包,繁琐

二、YUM 

        1. 简述

                YUM(全称为 Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包 并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次 次下载、安装,

        2. 基本语法

                yum -y 【参数】

        3. 选项说明

                -y #表示对所有的问题都回答 yes

        4. 参数说明

参数作用
install安装rpm软件包
update更新rpm软件包
check-update查看该rpm软件包是否有更新版本
remove 用于删除指定rpm软件包 【卸载】
list显示软件包信息
clean清理yum 过期缓存
deplist显示该软件包的所有依赖关系

        5. 案例 :安装 firefox

                yum install firefox

十二、克隆虚拟机 

        应用场景

大数据学习中,搭建服务器集群,进行分布式计算

        步骤

                1. 虚拟机处于关机状态

                2. c4b8bd411fb44f778143b36c19bec5f7.png

         3. 更改克隆出来的虚拟机,网络IP

        4. 设置主机 hosts文件 【路径 :C:\Windows\System32\drivers\etc】

        5. ping 网络是否通

 

 

 

 

 

 

  • 30
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值