随笔 - 10  文章 - 0  评论 - 0  阅读 - 975

二、linux基础命令

1. Bash命令行核心必备内容

  • 目标:熟练掌握Linux命令行的特点(规则,格式,要求)
  • 命令行格式
  • 命令格式
  • Linux目录结构概述

1.1 命令行格式

[root@lichengbo-xuexi ~]# 
[root@lichengbo-xuexi ~]# 
[root@lichengbo-xuexi ~]# 
[root@lichengbo-xuexi ~]# 

root    --->当前用户的用户名
lichengbo-xuexi  --->主机名,主机名反应出机器的作用
~      --->位置表示,表示当前所在的位置(你在Linux的那个目录位置下面)    ~ 在Linux表示当前用户家目录的

1.2 命令格式

  • 空格

  • 命令:用于控制与操作Linux的指令

  • 选项:同一个命令的不同功能。类似于条件

  • 参数:命令处理的对象或者目标。(一般是文件或目录。。。。)

1.3 Linux命令目录结构

  • 一切从根开始

1.4 小结

  • 命令行格式:用户名 主机名 当前位置
  • 命令格式:命令 选项 参数 记得加空格
  • 目录结构:一切从根开始。/(根)

2.Linux核心命令-重启-关机

2.1 危险 ⚠️⚠️⚠️⚠️⚠️

命令 解释
关机命令
shutdown -h 时间
shtudown -h now
shtudown -h 10 #分钟
halt 关机,还需要手动关闭电源。
poweroff 关机。
shutdown -c 取消将要进行的关机或重启操作
重启命令
shutdown -r 时间
reboot 立刻重启
  • 了解就行
关机或重启 解释
init 0 关机(centos6里面常用)
init 6 重启(centos6里面常用)
systemctl halt
systemctl poweroff
systemctl reboot

3.Linux核心命令-查询帮助

命令 注释 例子
man 查询详细帮助 man shutdown
help 显示简易帮助
help命令查询 linux shell内置命令
shutdown --help

4.Linux快捷键

快捷键 注释
ctrl+L 清屏
ctrl+A 把光标移动到这一行的行首
ctrl+E 把光标移动到这一行的行尾
ctrl+U 把光标到行首的内容剪切(删除)
ctrl+C 取消当前操作
ctrl+y 粘贴
ctrl+k 把光标到行尾的内容剪切(删除)

总结:

  • bash特点:命令行格式、命令格式、目录一切从根开始
  • 关闭重启命令
  • 查询帮助命令:man和--help
  • linux快捷键

5.linux命令

5.1远离舒适区及命令学习流程

  • 远离舒适区

  • 命令学习流程
    • 1️⃣每次讲解的命令,先整体记忆
    • 2️⃣把学习过的命令分类,汇总成一个思维导图
    • 3️⃣熟练的掌握命令的含义,记忆命令的选项,命令的选项通过案例或例子记忆
    • 4️⃣通过习题巩固命令。掌握一个根据要求选择命令的能力。

5.2Linux核心命令

5.2.1 cd (change directory) #作用--->切换目录

   选项:
       cd+目录名   进入指定目录中             (#看案例01)
       cd ~       回到家目录,~当前用户家目录  (#看案例02)
       cd         也是回到家目录             (#看案例02)
       cd ..       回到当前目录的上一级目录     (#看案例03)
       cd .        进入当前目录(一般不用,一般.与复制移动联合使用)    
       cd -        进入上一次所在的目录
       

#案例01 进入/etc/sysconfig目录下
[root@lichengbo-xuexi ~]# cd /etc/sysconfig/
[root@lichengbo-xuexi sysconfig]#
#注意:输入命令和路径的时候多用TAB键补全。
#注意:cd 空格 目录名
/
/tmp
/etc/sysconfig
#案例02 回到家目录
[root@lichengbo-xuexi sysconfig]# pwd
/etc/sysconfig
[root@lichengbo-xuexi sysconfig]# cd
[root@lichengbo-xuexi ~]# pwd
/root
[root@lichengbo-xuexi ~]# 

#案例03 假设我们在一个比较深的目录中,想进入上一级目录如何做?

当前目录在/etc/sysconfig/network-scripts/
[root@lichengbo-xuexi sysconfig]# cd /etc/sysconfig/network-scripts/
[root@lichengbo-xuexi network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@lichengbo-xuexi network-scripts]# cd ..
[root@lichengbo-xuexi sysconfig]# pwd
/etc/sysconfig
[root@lichengbo-xuexi sysconfig]# cd ../../
[root@lichengbo-xuexi /]# 

#an案例04     比如我当前目录是  /etc/sysconfig/network-scripts,然后我想临时区/tmp目录做事情,任务完成后还想回到刚刚的目录。

cd -
[root@lichengbo-xuexi /]# cd /etc/sysconfig/network-scripts/
[root@lichengbo-xuexi network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@lichengbo-xuexi network-scripts]# cd /tmp/
[root@lichengbo-xuexi tmp]# cd -
/etc/sysconfig/network-scripts
[root@lichengbo-xuexi network-scripts]# cd -
/tmp



5.2.2 pwd (print working dinrectory) 显示当前所在目录(工作目录)

#例子:
[root@lichengbo-xuexi ~]# pwd
/root
[root@lichengbo-xuexi ~]# cd /etc/sysconfig/
[root@lichengbo-xuexi sysconfig]# pwd
/etc/sysconfig

5.2.3 mkdir(make directory) #作用:创建目录,新建目录

#选项             作用
mkdir           创建目录
-p         递归创建目录(创建多级目录)
    


#案例01  创建目录 /oldboy  ※※※※※
[root@lichengbo-xuexi ~]# mkdir /oldboy
[root@lichengbo-xuexi ~]# ls /oldboy/
[root@lichengbo-xuexi ~]# ls /
bin  boot  dev  etc  home  lib  lib64  media  mnt  oldboy  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

#注意:操作前记得备份,操作后记得检查



#案例02 创建多级目录   /oldboy/1/2/3/4/5/6     ※※※※※

[root@lichengbo-xuexi ~]# mkdir -pv /oldboy/a/b/c/d/dd/ddd/ddddd/
mkdir: created directory ‘/oldboy/a’
mkdir: created directory ‘/oldboy/a/b’
mkdir: created directory ‘/oldboy/a/b/c’
mkdir: created directory ‘/oldboy/a/b/c/d’
mkdir: created directory ‘/oldboy/a/b/c/d/dd’
mkdir: created directory ‘/oldboy/a/b/c/d/dd/ddd’
mkdir: created directory ‘/oldboy/a/b/c/d/dd/ddd/ddddd/’
[root@lichengbo-xuexi ~]# 
[root@lichengbo-xuexi ~]# mkdir -p /oldboy/a/b/c/d/dd/ddd/ddddd/

#案例03  创建多个目录

##方法一
[root@lichengbo-xuexi ~]# cd /oldboy/
[root@lichengbo-xuexi oldboy]# mkdir li1 li2 li3 li4
[root@lichengbo-xuexi oldboy]# ls /oldboy/
a  li1  li2  li3  li4

##方法二
[root@lichengbo-xuexi oldboy]# cd
[root@lichengbo-xuexi ~]# mkdir /oldboy/li5 /oldboy/li6 /oldboy/li7

5.2.4 ls(list)查看目录内容

#选项
基本格式:ls+目录或ls
-l              long长格式(显示详细信息)
-h              human-readable人类可读形式展示大小
-t              time按照文件修改时间排序
-r              逆序排序一般与-lrt一起使用
-d              显示目录本身的信息而不是显示目录内容。(把目录当做文件看待)
-a              列出所有文件,包括以 "." 开头的隐含文件。



#案例01 显示当前目录的内容  ※※※※※
[root@lichengbo-xuexi ~]# ls
anaconda-ks.cfg
[root@lichengbo-xuexi ~]# pwd
/root

#案例02 显示目录内容并显示内容详细信息   ※※※※※
[root@lichengbo-xuexi ~]# ls -l /
total 16
lrwxrwxrwx.   1 root root    7 Apr  3 17:27 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Apr  3 17:30 boot
drwxr-xr-x.  20 root root 3260 Apr  5 12:56 dev
drwxr-xr-x.  80 root root 8192 Apr  5 17:44 etc
drwxr-xr-x.   2 root root    6 Apr 11  2018 home
lrwxrwxrwx.   1 root root    7 Apr  3 17:27 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Apr  3 17:27 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Apr 11  2018 media
drwxr-xr-x.   2 root root    6 Apr 11  2018 mnt
drwxr-xr-x.  10 root root   92 Apr  5 20:58 oldboy
drwxr-xr-x.   2 root root    6 Apr 11  2018 opt
dr-xr-xr-x. 126 root root    0 Apr  5 12:56 proc
dr-xr-x---.   2 root root  135 Apr  3 18:16 root
drwxr-xr-x.  26 root root  740 Apr  5 12:56 run
lrwxrwxrwx.   1 root root    8 Apr  3 17:27 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Apr 11  2018 srv
dr-xr-xr-x.  13 root root    0 Apr  5 12:56 sys
drwxrwxrwt.  11 root root  270 Apr  5 13:26 tmp
drwxr-xr-x.  13 root root  155 Apr  3 17:27 usr
drwxr-xr-x.  19 root root  267 Apr  3 17:32 var

#案例03 在查看目录详细信息的时候 想看文件目录的大小并以人类可读的形式展示出来。   ※※※※
显示大小使用

ls -lh /etc/
ls -l -h /etc/

[root@lichengbo-xuexi ~]# sl -lh /etc/
-bash: sl: command not found
[root@lichengbo-xuexi ~]# ls -lh /etc/
total 1.1M
drwxr-xr-x.  3 root root  101 Apr  3 17:28 abrt
-rw-r--r--.  1 root root   16 Apr  3 17:29 adjtime
-rw-r--r--.  1 root root 1.5K Apr  1  2020 aliases
-rw-r--r--.  1 root root  12K Apr  3 17:32 aliases.db

位 bit
字节 byte
1字节=8位
1个字节=1个英文的字符
1kb=1024bytes
1mb=1024kb=1024^2 bytes
1GB=1024MB=1024^3 bytes
1TB=1024GB=1024^4 bytes
1PB=1024TB=1024^5 bytes
1EB=1024PB=1024^6 bytes

#案例04 Linux /etc目录下被创建病毒目录,不知晓目录名字,只知道是最近创建的。  ※※※
##模拟
mkdir  /etc/bingdu

##
ls -lt /etc/ #按照使劲顺序排序 降序  新(上面)====>旧(下面)

##逆序排序
ls -lrt /etc/ # -r  逆序

[root@lichengbo-xuexi ~]# ls -lt /etc
total 1056
drwxr-xr-x.  2 root root      6 Apr  5 21:38 bingdu
-rw-r--r--.  1 root root     51 Apr  5 17:44 resolv.conf
-rw-r--r--.  1 root root  12288 Apr  3 17:32 aliases.db
drwxr-xr-x.  2 root root    225 Apr  3 17:32 ssh
drwxr-x---.  3 root root     83 Apr  3 17:32 audit
drwxr-xr-x.  3 root root     54 Apr  3 17:32 udev


##案例05 查看根目录本身的详细信息 不看内容
ls -ld / 

#应用场景:一般配合其他命令  批量查文件,目录信息的时候使用。
[root@lichengbo-xuexi ~]# ls -ld /etc/hosts  /etc/  /tmp
drwxr-xr-x. 81 root root 8192 Apr  5 21:38 /etc/
-rw-r--r--.  1 root root  158 Jun  7  2013 /etc/hosts
drwxrwxrwt. 11 root root  270 Apr  5 13:26 /tmp
[root@lichengbo-xuexi ~]# 

5.2.5 touch 作用:创建文件(修改文件的时间戳)

#案件01  创建 /oldboy/oldboy.txt 文件

[root@lichengbo-xuexi ~]# ls -l /oldboy/
total 0
drwxr-xr-x. 3 root root 15 Apr  5 20:43 a
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li1
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li2
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li3
[root@lichengbo-xuexi ~]# touch /oldboy/oldboy.txt
[root@lichengbo-xuexi ~]# ls -l /oldboy/
total 0
drwxr-xr-x. 3 root root 15 Apr  5 20:43 a
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li1
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li2
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li3
-rw-r--r--. 1 root root  0 Apr  6 20:38 oldboy.txt

#案例02 创建多个文件 /oldboy/li.txt /oldboy/gaoxiaoge-4k-blue-ray.avi
#先进入目录,然后创建

[root@lichengbo-xuexi ~]# cd /oldboy/
[root@lichengbo-xuexi oldboy]# touch li.txt gaoxiaoge-4k-blue-ray.avi
[root@lichengbo-xuexi oldboy]# ls -l
total 0
drwxr-xr-x. 3 root root 15 Apr  5 20:43 a
-rw-r--r--. 1 root root  0 Apr  6 20:42 gaoxiaoge-4k-blue-ray.avi
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li1
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li2
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li3
-rw-r--r--. 1 root root  0 Apr  6 20:42 li.txt
-rw-r--r--. 1 root root  0 Apr  6 20:38 oldboy.txt

5.2.6 mv (move) 作用:移动文件或改名

#案例01   把/oldboy/oldboy.txt 移动到tmp目录下

[root@lichengbo-xuexi ~]# mv /oldboy/oldboy.txt /tmp
[root@lichengbo-xuexi ~]# ls -l /tmp
total 4
-rwx------. 1 root root 836 Apr  3 17:30 ks-script-uf1iZf
-rw-r--r--. 1 root root   0 Apr  6 20:38 oldboy.txt
drwx------. 2 root root   6 Apr  3 17:32 vmware-root_1007-4282171056
drwx------. 2 root root   6 Apr  4 11:01 vmware-root_1008-2965579127
drwx------. 2 root root   6 Apr  4 10:56 vmware-root_962-2990678749
drwx------. 2 root root   6 Apr  6 20:31 vmware-root_963-4256545027
drwx------. 2 root root   6 Apr  5 12:56 vmware-root_996-2991071970
-rw-------. 1 root root   0 Apr  3 17:27 yum.log

#案例02  重命名  /oldboy/li.txt  改名叫 /oldboy/lichengbo-new.txt

[root@lichengbo-xuexi ~]# cd /oldboy      #进入到目录
[root@lichengbo-xuexi oldboy]# ls -l
total 0
drwxr-xr-x. 3 root root 15 Apr  5 20:43 a
-rw-r--r--. 1 root root  0 Apr  6 20:42 gaoxiaoge-4k-blue-ray.avi
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li1
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li2
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li3
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li4
drwxr-xr-x. 2 root root  6 Apr  5 20:58 li5
drwxr-xr-x. 2 root root  6 Apr  5 20:58 li6
drwxr-xr-x. 2 root root  6 Apr  5 20:58 li7
-rw-r--r--. 1 root root  0 Apr  6 20:42 li.txt
[root@lichengbo-xuexi oldboy]# mv li.txt lichengbo-new.txt       #移动 改名下
[root@lichengbo-xuexi oldboy]# ls  -l
total 0
drwxr-xr-x. 3 root root 15 Apr  5 20:43 a
-rw-r--r--. 1 root root  0 Apr  6 20:42 gaoxiaoge-4k-blue-ray.avi
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li1
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li2
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li3
drwxr-xr-x. 2 root root  6 Apr  5 20:55 li4
drwxr-xr-x. 2 root root  6 Apr  5 20:58 li5
drwxr-xr-x. 2 root root  6 Apr  5 20:58 li6
drwxr-xr-x. 2 root root  6 Apr  5 20:58 li7
-rw-r--r--. 1 root root  0 Apr  6 20:42 lichengbo-new.txt



#温馨提示:企业应用场景及案例
1. mv 移动或改名。
2. mv 是一个隐藏的杀手,危险程度仅次于rm。
3. 可以使用MV 替代rm

5.2.7 cp (copy) 作用:复制文件或目录

选项
基本格式:cp 源文件 目录
-r recursive递归复制目录,复制目录及目录内容
-p 复制的时候,保持属性信息不变(搭建网站中应用多,其他地方使用的少)
-a 相当于是-r -p -d(pdr)
-d 与复制符号连接(软连接,快捷方式)有关
#案例01   复制/etc/hosts  文件到/tmp下面

[root@lichengbo-xuexi ~]# cp /etc/hosts  /tmp/
[root@lichengbo-xuexi ~]# ls -l /etc/hosts  /tmp/hosts
-rw-r--r--. 1 root root 158 Jun  7  2013 /etc/hosts
-rw-r--r--. 1 root root 158 Apr  6 21:07 /tmp/hosts

#案例02  复制目录/oldboy到/root下

[root@lichengbo-xuexi ~]# cp /oldboy/ /opt/
cp: omitting directory ‘/oldboy/’
[root@lichengbo-xuexi ~]# ll /opt/
total 0
[root@lichengbo-xuexi ~]# cp -r /oldboy/ /opt/
[root@lichengbo-xuexi ~]# ll /opt/
total 0
drwxr-xr-x. 10 root root 150 Apr  6 21:16 oldboy

#注意事项:企业应用案例:复制多种类型文件的时候,可以加上cp  -r,不论是文件或者目录

#案例03 备份
注意:操作前备份,操作后检查

##备份
cp oldboy.txt oldboy.txt.bak

##还原
[root@lichengbo-xuexi oldboy]# cp  oldboy.txt.bak oldboy.txt
cp: overwrite ‘oldboy.txt’? y

5.2.8 echo 作用:输出信息到屏幕

#案例01  输出信息到屏幕

[root@lichengbo-xuexi ~]# echo oldboy
oldboy

#案例02 输出有规律的内容1 2 3 4 5 6 。。。100

[root@lichengbo-xuexi ~]# echo oldboy
oldboy
[root@lichengbo-xuexi ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@lichengbo-xuexi ~]# echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@lichengbo-xuexi ~]# echo oldboy{1..10}
oldboy1 oldboy2 oldboy3 oldboy4 oldboy5 oldboy6 oldboy7 oldboy8 oldboy9 oldboy10

#案例03 {}进阶批量创建文件

[root@lichengbo-xuexi ~]# cd /oldboy/
[root@lichengbo-xuexi oldboy]# echo oldboy{1..10}
oldboy1 oldboy2 oldboy3 oldboy4 oldboy5 oldboy6 oldboy7 oldboy8 oldboy9 oldboy10
[root@lichengbo-xuexi oldboy]# echo oldboy{1..10}.txt
oldboy1.txt oldboy2.txt oldboy3.txt oldboy4.txt oldboy5.txt oldboy6.txt oldboy7.txt oldboy8.txt oldboy9.txt oldboy10.txt
[root@lichengbo-xuexi oldboy]# touch oldboy{1..10}.txt
[root@lichengbo-xuexi oldboy]# ll
total 0
-rw-r--r--. 1 root root  0 Apr  6 21:59 oldboy10.txt
-rw-r--r--. 1 root root  0 Apr  6 21:59 oldboy1.txt
-rw-r--r--. 1 root root  0 Apr  6 21:59 oldboy2.txt
-rw-r--r--. 1 root root  0 Apr  6 21:59 oldboy3.txt
-rw-r--r--. 1 root root  0 Apr  6 21:59 oldboy4.txt
-rw-r--r--. 1 root root  0 Apr  6 21:59 oldboy5.txt
-rw-r--r--. 1 root root  0 Apr  6 21:59 oldboy6.txt
-rw-r--r--. 1 root root  0 Apr  6 21:59 oldboy7.txt
-rw-r--r--. 1 root root  0 Apr  6 21:59 oldboy8.txt
-rw-r--r--. 1 root root  0 Apr  6 21:59 oldboy9.txt

#案例04 {}备份

##输出没有规律的文件
[root@lichengbo-xuexi oldboy]# echo {1,9,10}
1 9 10
[root@lichengbo-xuexi oldboy]# echo oldboy{1,9,10}
oldboy1 oldboy9 oldboy10

##备份
[root@lichengbo-xuexi oldboy]# echo A{B,C}
AB AC
[root@lichengbo-xuexi oldboy]# echo A{,C}
A AC
[root@lichengbo-xuexi oldboy]# echo oldboy.txt{,.backup}
oldboy.txt oldboy.txt.backup
[root@lichengbo-xuexi oldboy]# echo cp oldboy.txt{,.backup}
cp oldboy.txt oldboy.txt.backup
[root@lichengbo-xuexi oldboy]# cp oldboy.txt{,.backup}

  • echo小结:
    • 用于输出信息到屏幕
    • echo+ {}输出有规律的内容
    • {}生成序列:数字 字母。linux下面很多命令支持。

5.2.9 vi 作用:编辑器

  • 目标:打开,编辑文件,保存。

    #案例01  使用vi 编辑/oldboy/oldboy.txt文件 写入内容 oldboyedu.com
    
    #第一个里程碑- vi /oldboy/oldbo.txt
    #第二里程碑-编辑
    ##按i进入编辑模式
    屏幕下面提示-- INSERT --  编辑模式
    ##就可以修改文件
    
    #第三个里程碑-保存退出
    ##按ESC 退出编辑模式    屏幕下面-- INSERT --标记就没了
    ##保存与退出
    :wq            wriet(保存)    quit(退出)
    :q    直接退出
    :q!  强制退出
    
    
    #企业使用建议:编辑文件同时也可以创建文件
    

5.2.10 rm 删除文件或目录

  • ⚠️未来工作环境尽量避免使用删除命令或者类似工具。
选项
基本用法:rm 文件或目录
-f force强制删除不提示
-r ⚠️极其凶险,递归删除目录
#案例01  删除文件/oldboy/oldboy.txt

[root@lichengbo-xuexi oldboy]# touch lidao996.txt
[root@lichengbo-xuexi oldboy]# ll
total 0
-rw-r--r--. 1 root root 0 Apr  6 22:39 lidao996.txt
[root@lichengbo-xuexi oldboy]# rm -f /oldboy/lidao996.txt 
[root@lichengbo-xuexi oldboy]# 

#案例02 删除目录(极其凶险)
[root@lichengbo-xuexi ~]# rm -rf /oldboy/

#企业生产建议:-rf选项可以放在最后再加。 rm /oldboy/ -rf

5.2.11 tree 以树形结构显示目录

需要通过yum install -y tree 安装

#案例01  以树形结构显示/etc/
tree /etc

5.2.12 cat 显示文件内容

选项
-n 显示行号
posted on   lichengbo  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
< 2025年3月 >
23 24 25 26 27 28 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
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示