24.10.28 系统命令
1.Linux目录结构
Windows目录结构:
C:\windows
D:\Typora
E:\学习资料\老男孩Linux\
linux目录结构:类似Windows只有一个C盘 用/来表示 /是一个目录
/etc/hosts
/tmp/
/root/
相对路径:当前位置称为相对路径 即文件前没有/
1.txt
oldboy.txt
老男孩教室5的位置想要进去:出门右拐
绝对路径:一切从/开始的位置
/root/1.txt
/root/oldboy.txt
老男孩教室5的位置想要进去:银河系-太阳系-地球-亚洲-中国-北京-昌平沙河-老男孩教室5
免费画图工具:processon.com
2.Linux系统命令
1.pwd命令 # 查看当前所在的路径 print working directory
语法结构:pwd #直接回车查看
eg:查看当前的所在路径
[root@oldboyedu ~]# pwd
/root
2.cd命令 # 切换目录 change directory
语法结构:cd #直接回车
cd [参数选项] #可选择项 不同参数表示不同的功能
cd 目录/路径的目录 #进入到其他目录
eg:切换到/opt目录
相对路径:[root@oldboyedu ~]# pwd
/root
[root@oldboyedu ~]# cd /
[root@oldboyedu /]# pwd
/
[root@oldboyedu /]# cd opt
[root@oldboyedu opt]# pwd
/opt
(先返回到根目录,在一级一级的找需要的目录)
绝对路径:[root@oldboyedu ~]# cd /opt
[root@oldboyedu opt]# pwd
/opt
eg:回到家目录
快速回到家目录:[root@oldboyedu opt]# cd
[root@oldboyedu ~]# pwd
/root(cd直接回车,可以直接回到家目录)
相对路径:[root@oldboyedu ~]# cd /
[root@oldboyedu /]# cd root
[root@oldboyedu ~]# pwd
/root
绝对路径:[root@oldboyedu opt]# cd /root
[root@oldboyedu ~]# pwd
/root
cd的参数~:[root@oldboyedu ~]# cd ~
[root@oldboyedu ~]# pwd
/root
eg:cd 返回到上一级目录
. #表示当前目录(暂时没什么用,拷贝的时候会用到)
.. #表示上一级目录
[root@oldboyedu ~]# cd .. #返回到上一级目录
[root@oldboyedu /]# pwd
/
一次返回上两级目录:[root@oldboyedu sysconfig]# pwd
/etc/sysconfig
[root@oldboyedu sysconfig]# cd ../../
[root@oldboyedu /]# pwd
/
eg:返回到上一次所在的位置
[root@oldboyedu sysconfig]# pwd
/etc/sysconfig
[root@oldboyedu sysconfig]# cd
[root@oldboyedu ~]# cd -
/etc/sysconfig
cd命令小结:
cd #直接回车 快速回家
cd ~ #快速回家
cd /root #快速回家
cd - #返回上一次所在的目录(刚连接或重新启动不好使)
cd /opt #使用绝对路径切换目录
cd /
cd opt #使用相对路径切换目录
(目录后加不加根都可,进的去的是目录,进不去的是文件,写了目录名,按tab键,会自动补齐根)
按tab键会自动补齐没有写全的单词,只有一个直接出,好几个开头一样,按两次tab键,会把该目录下所有以该开头一致的列举出来
绝对路径在何处都可以使用,相对路径只能在相邻的目录中使用,是一种简便指令
3.ls命令
语法结构:ls #直接回车 查看当前目录下的所有文件
ls 目录 #查看目录下的文件
ls /etc/sysconfig
ls 参数
ls 参数 目录/路径目录
ls 文件 #查看文件是否存在
参数选项:-l #显示文件的详细信息 long
eg:查看当前目录下有哪些文件
[root@oldboyedu ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg
eg:查看文件的详细信息
[root@oldboyedu ~]# ls -l
总用量 4
-rw------- 1 root root 2708 10月 25 03:09 anaconda-ks.cfg
-rw-r--r-- 1 root root 0 10月 25 03:17 initial-setup-ks.cfg
eg:查看/tmp/目录下有哪些文件
相对路径:[root@oldboyedu ~]# cd /tmp
[root@oldboyedu tmp]# ls -l
总用量 0
drwx------ 3 root root 60 10月 25 19:09 systemd-private-39af812bab274fc9aff157a40c7a2a2c-bluetooth.service-iK0Y4N
drwx------ 3 root root 60 10月 25 19:09 systemd-private-39af812bab274fc9aff157a40c7a2a2c-chronyd.service-7jEhVp
drwx------ 3 root root 60 10月 25 19:09 systemd-private-39af812bab274fc9aff157a40c7a2a2c-systemd-logind.service-MzAEsG
绝对路径:[root@oldboyedu ~]# ls -l /tmp
总用量 0
drwx------ 3 root root 60 10月 25 19:09 systemd-private-39af812bab274fc9aff157a40c7a2a2c-bluetooth.service-iK0Y4N
drwx------ 3 root root 60 10月 25 19:09 systemd-private-39af812bab274fc9aff157a40c7a2a2c-chronyd.service-7jEhVp
drwx------ 3 root root 60 10月 25 19:09 systemd-private-39af812bab274fc9aff157a40c7a2a2c-systemd-logind.service-MzAEsG
eg:查看文件是否存在
[root@oldboyedu ~]# ls oldboy
ls: 无法访问 'oldboy': 没有那个文件或目录
[root@oldboyedu ~]# ls /opt/1.txt
ls: 无法访问 '/opt/1.txt': 没有那个文件或目录
[root@oldboyedu ~]# ls /etc/syscinfig
ls: 无法访问 '/etc/syscinfig': 没有那个文件或目录
[root@oldboyedu ~]# ls /etc/sysconfig
anaconda ip6tables nftables.conf
atd ip6tables-config packagekit-background
chronyd iptables quota_nld
console iptables-config rpcbind
cpupower irqbalance rpc-rquotad
crond kdump rsyncd
dhcpd kernel rsyslog
ebtables-config man-db run-parts
firewalld modules samba
grub named selinux
htcacheclean network smartmontools
init network-scripts sshd
[root@oldboyedu ~]# ls /etc/hosts
/etc/hosts
eg:ls -l简写成ll
在Linux中执行ll相当于执行的是ls -l命令
[root@oldboyedu ~]# ll
总用量 4
-rw------- 1 root root 2708 10月 25 03:09 anaconda-ks.cfg
-rw-r--r-- 1 root root 0 10月 25 03:17 initial-setup-ks.cfg
[root@oldboyedu ~]# ll /opt
总用量 0
dr-xr-xr-x 5 root root 79 3月 24 2023 kylin-sm-package
drwxr-xr-x 4 root root 58 10月 25 03:07 patch_workspace
ls小结:
ls #查看当前目录下有哪些文件
ls -l #查看文件的详细信息
ll #相当于执行ls -l
ll oldboy.txt #查看oldboy.txt的详细信息
ll /opt #/opt目录下的文件的详细信息
4.touch 命令 #创建普通文件 如果文件存在则修改时间不影响文件的内容
语法结构:touch 文件名称 #直接创建该文件
touch /目录/文件名称 #目录必须存在
touch file1 file #创建多个文件
touch file1 /目录/file2 #在不同的目录下创建不同的文件
eg:在当前的目录创建oldboy.txt文件
[root@oldboyedu ~]# rm -rf * #删除当前所有的文件和目录 企业慎用
[root@oldboyedu ~]# touch oldboy.txt
[root@oldboyedu ~]# ll
总用量 4
-rw------- 1 root root 2708 10月 25 03:09 anaconda-ks.cfg
-rw-r--r-- 1 root root 0 10月 25 03:17 initial-setup-ks.cfg
-rw-r--r-- 1 root root 0 10月 25 22:27 oldboy.txt
eg:在当前目录下创建多个文件 1.txt 2.txt
[root@oldboyedu ~]# touch 1.txt 2.txt
[root@oldboyedu ~]# ll
总用量 4
-rw-r--r-- 1 root root 0 10月 25 23:34 1.txt
-rw-r--r-- 1 root root 0 10月 25 23:34 2.txt
-rw------- 1 root root 2708 10月 25 03:09 anaconda-ks.cfg
-rw-r--r-- 1 root root 0 10月 25 03:17 initial-setup-ks.cfg
-rw-r--r-- 1 root root 0 10月 25 22:27 oldboy.txt
eg:如果文件存在只修改时间 不会影响文件内容
[root@oldboyedu ~]# ll /root/test1/11.txt
-rw-r--r-- 1 root root 0 10月 29 18:43 /root/test1/11.txt #注意看文件时间18.43
[root@oldboyedu ~]# touch /root/test1/11.txt
[root@oldboyedu ~]# ll /root/test1/11.txt
-rw-r--r-- 1 root root 0 10月 29 18:44 /root/test1/11.txt #执行touch后时间18.44
eg:在/opt目录下创建a.txt
相对路径:[root@oldboyedu ~]# cd /opt
[root@oldboyedu opt]# touch a.txt
[root@oldboyedu opt]# ll
总用量 8
-rw-r--r-- 1 root root 31 10月 29 18:01 1.txt
drwxr-xr-x 2 root root 6 10月 28 21:39 4.txt
drwxr-xr-x 2 root root 6 10月 28 20:20 a
-rw-r--r-- 1 root root 0 10月 29 18:51 a.txt
drwxr-xr-x 2 root root 58 10月 28 21:45 blog
-rw-r--r-- 1 root root 356 10月 25 03:09 ifcfg-eth0
dr-xr-xr-x 5 root root 79 3月 24 2023 kylin-sm-package
drwxr-xr-x 4 root root 58 10月 25 03:07 patch_workspace
绝对路径:/opt目录下b.txt绝对路径表示/opt/b.txt
[root@oldboyedu opt]# touch /opt/b.txt
[root@oldboyedu opt]# ll /opt
总用量 8
-rw-r--r-- 1 root root 31 10月 29 18:01 1.txt
drwxr-xr-x 2 root root 6 10月 28 21:39 4.txt
drwxr-xr-x 2 root root 6 10月 28 20:20 a
-rw-r--r-- 1 root root 0 10月 29 18:51 a.txt
drwxr-xr-x 2 root root 58 10月 28 21:45 blog
-rw-r--r-- 1 root root 0 10月 29 18:53 b.txt
-rw-r--r-- 1 root root 356 10月 25 03:09 ifcfg-eth0
dr-xr-xr-x 5 root root 79 3月 24 2023 kylin-sm-package
drwxr-xr-x 4 root root 58 10月 25 03:07 patch_workspace
eg:在当前目录创建oldgirl.txt文件 在/tmp目录下创建oldboy.txt
使用绝对路径表示:oldgirl.txt
/tmp/oldboy.txt
[root@oldboyedu ~]# touch oldgirl.txt /tmp/oldboy.txt
[root@oldboyedu ~]# ll
总用量 688
-rw-r--r-- 1 root root 0 10月 28 21:31 1.txt
drwxr-xr-x 2 root root 6 10月 28 21:03 bbs
drwxr-xr-x 2 root root 6 10月 28 21:03 blog
-rw-r--r-- 1 root root 356 10月 29 18:02 cfg.txt
-rw-r--r-- 1 root root 158 6月 23 2020 hosts
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao04.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao05.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao06.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao07.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao08.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao09.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao10.txt
drwxr-xr-x 2 root root 99 10月 29 17:13 oldboydir10
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir12
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir13
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir14
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir15
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir16
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir17
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir18
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir19
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir20
-rw-r--r-- 1 root root 0 10月 29 18:58 oldgirl.txt
drwxr-xr-x 3 root root 46 10月 29 18:43 test1
-rw-r--r-- 1 root root 692608 10月 29 17:59 vim.txt
drwxr-xr-x 2 root root 58 10月 28 21:45 www
[root@oldboyedu ~]# ll oldgirl.txt /tmp/oldboy.txt
-rw-r--r-- 1 root root 0 10月 29 18:58 oldgirl.txt
-rw-r--r-- 1 root root 0 10月 29 18:58 /tmp/oldboy.txt
注意:使用绝对路径时候必须保证目录存在的,不然创建不成功
eg:[root@oldboyedu ~]# touch a/b/test.txt
touch: 无法创建 'a/b/test.txt': 没有那个文件或目录
[root@oldboyedu ~]# mkdir -p a/b
[root@oldboyedu ~]# ll
总用量 688
-rw-r--r-- 1 root root 0 10月 28 21:31 1.txt
drwxr-xr-x 3 root root 15 10月 29 19:01 a
drwxr-xr-x 2 root root 6 10月 28 21:03 bbs
drwxr-xr-x 2 root root 6 10月 28 21:03 blog
-rw-r--r-- 1 root root 356 10月 29 18:02 cfg.txt
-rw-r--r-- 1 root root 158 6月 23 2020 hosts
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao04.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao05.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao06.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao07.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao08.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao09.txt
-rw-r--r-- 1 root root 0 10月 29 15:32 lidao10.txt
drwxr-xr-x 2 root root 99 10月 29 17:13 oldboydir10
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir12
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir13
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir14
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir15
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir16
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir17
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir18
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir19
drwxr-xr-x 2 root root 6 10月 29 15:35 oldboydir20
-rw-r--r-- 1 root root 0 10月 29 18:58 oldgirl.txt
drwxr-xr-x 3 root root 46 10月 29 18:43 test1
-rw-r--r-- 1 root root 692608 10月 29 17:59 vim.txt
drwxr-xr-x 2 root root 58 10月 28 21:45 www
[root@oldboyedu ~]# ll a/
总用量 0
drwxr-xr-x 2 root root 6 10月 29 19:01 b
[root@oldboyedu ~]# touch a/b/test.txt
[root@oldboyedu ~] # ll a/b
总用量 0
-rw-r--r-- 1 root root 0 10月 29 19:02 test.txt
touch小结:touch 1.txt #在当前创建1.txt
touch a.txt b.txt #在当前创建多个文件
touch /opt/1.txt #指定在/opt目录下创建1.txt
touch /opt/1.txt /tmp/2.txt #在不同路径下创建文件
5.cat命令 #查看文件内容
语法结构:cat file #查看文件内容
参数选项:-n #显示文件行数
eg:查看/etc/hosts文件
[root@oldboyedu ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
eg:查看当前oldboy.txt中的内容
[root@oldboyedu ~]# echo oldboyedu > oldboy.txt #将oldboyedu字符串写入到oldboy.txt
查看oldboy.txt内容
[root@oldboyedu ~]# cat oldboy.txt
oldboyedu
eg:查看多个文件内容
[root@oldboyedu ~]# cat oldboy.txt /etc/hosts
oldboyedu
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
eg:显示行号 -n
[root@oldboyedu ~]# cat -n /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
6.mkdir命令 #创建目录 make directory 如果目录存在提示目录已存在
语法结构:mkdir 目录名称
mkdir dir1 dir2 dir3
mkdir dir1/test /tmp/oldboy
参数选项:-p #递归创建目录 目录存在不提示
eg:在当前创建oldboy目录
清空当前目录下所有文件和文件夹
[root@oldboyedu ~]# rm -rf *
[root@oldboyedu ~]# ll
总用量 0
创建oldboy目录
[root@oldboyedu ~]# mkdir oldboy
[root@oldboyedu ~]# ll
总用量 0
drwxr-xr-x 2 root root 6 10月 29 19:21 oldboy
eg:在当前创建test1和test2目录
[root@oldboyedu ~]# mkdir tset1 test2
[root@oldboyedu ~]# ll
总用量 0
drwxr-xr-x 2 root root 6 10月 29 19:21 oldboy
drwxr-xr-x 2 root root 6 10月 29 19:23 test2
drwxr-xr-x 2 root root 6 10月 29 19:23 tset1
eg:在不同的路径下创建目录 /opt/a /tmp/b
[root@oldboyedu ~]# mkdir /opt/a /tmp/b
[root@oldboyedu ~]# ll /opt /tmp
/opt:
总用量 8
-rw-r--r-- 1 root root 31 10月 29 18:01 1.txt
drwxr-xr-x 2 root root 6 10月 28 21:39 4.txt
drwxr-xr-x 2 root root 6 10月 29 19:26 a
-rw-r--r-- 1 root root 0 10月 29 18:51 a.txt
drwxr-xr-x 2 root root 58 10月 28 21:45 blog
-rw-r--r-- 1 root root 0 10月 29 18:53 b.txt
-rw-r--r-- 1 root root 356 10月 25 03:09 ifcfg-eth0
dr-xr-xr-x 5 root root 79 3月 24 2023 kylin-sm-package
drwxr-xr-x 4 root root 58 10月 25 03:07 patch_workspace
/tmp:
总用量 0
drwxr-xr-x 2 root root 40 10月 29 19:26 b
-rw-r--r-- 1 root root 0 10月 29 18:58 oldboy.txt
drwx------ 3 root root 60 10月 29 01:19 systemd-private-355659f454ef4582a5ca28dffd255f85-bluetooth.service-SkoRP8
drwx------ 3 root root 60 10月 29 01:19 systemd-private-355659f454ef4582a5ca28dffd255f85-chronyd.service-iejWlJ
drwx------ 3 root root 60 10月 29 01:19 systemd-private-355659f454ef4582a5ca28dffd255f85-systemd-logind.service-dtp1jX
drwxr-xr-x 2 root root 40 10月 29 18:02 test3
eg:递归创建项目 当前test1/test2/oldboy
[root@oldboyedu ~]# mkdir test1/test2
[root@oldboyedu ~]# ll test1
总用量 0
drwxr-xr-x 2 root root 6 10月 29 19:31 test2
[root@oldboyedu ~]# mkdir test1/test2/oldboy
[root@oldboyedu ~]# ll test1/test2
总用量 0
drwxr-xr-x 2 root root 6 10月 29 19:31 oldboy
使用参数-p递归创建项目,不存在就创建目录
[root@oldboyedu ~]# mkdir -p test1/test2/test3/oldboy
[root@oldboyedu ~]# ll
总用量 0
drwxr-xr-x 2 root root 6 10月 29 19:21 oldboy
drwxr-xr-x 3 root root 19 10月 29 19:31 test1
drwxr-xr-x 2 root root 6 10月 29 19:23 test2
[root@oldboyedu ~]# ll test1
总用量 0
drwxr-xr-x 4 root root 33 10月 29 19:33 test2
[root@oldboyedu ~]# ll test1/test2
总用量 0
drwxr-xr-x 2 root root 6 10月 29 19:31 oldboy
drwxr-xr-x 3 root root 20 10月 29 19:33 test3
[root@oldboyedu ~]# ll test1/test2/test3
总用量 0
drwxr-xr-x 2 root root 6 10月 29 19:33 oldboy
mkdir小结:mkdir oldboy #在当前创建oldboy目录
mkdir oldboy oldgirl #创建多个目录
mkdir /opt/a /tmp/b #在不同目录下创建目录
mkdir -p a/b/c #递归创建目录
7.tree命令 #树形结构显示目录
tree -L 1 #显示1级目录下所有文件,数字是几,就是几级目录下的所有文件
eg:[root@oldboyedu ~]# tree test1
test1
└── test2
├── oldboy
└── test3
└── oldboy
4 directories, 0 files
[root@oldboyedu ~]# touch test1/a.txt
[root@oldboyedu ~]# tree test1
test1
├── a.txt
└── test2
├── oldboy
└── test3
└── oldboy
4 directories, 1 file
[root@oldboyedu ~]# tree -L 1 test1
test1
├── a.txt
└── test2
1 directory, 1 file
[root@oldboyedu ~]# tree -L 2 test1
test1
├── a.txt
└── test2
├── oldboy
└── test3
directories, 1 file
清屏:ctrl+l
知识点小结
1.Linux路径
相对路径:从当前开始的路径
绝对路径:从/开始的路径
2.pwd 查看当前的路径
3.cd 切换目录
cd ~ 回家
cd /root 回家
cd - 回到上一次所在的目录
cd .. 回到上一级目录
cd ../.. 回到上两级目录
4.ls 显示文件
ll ==== ls -l
ll 显示当前所有文件的详细信息
ll /opt 显示/opt 目录下所有文件详细信息
5.touch 创建普通文件
touch 1.txt
touch 1.txt 2.txt
touch /opt/1.txt /tmp/2.txt
6.cat 查看文件内容
-n 显示行号
cat oldboy.txt
cat /ect/hosts
7.mkdir 创建目录
参数 -p 递归创建
mkdir oldboy
mkdir a b
mkdir /opt/a /tmp/b
mkdir -p test/test1/test2/oldboy
8.tree命令 树形结构显示目录
tree test
-L 1