Linux系统命令符01
##重启下虚拟机 [root@bogon ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:c9:78:c4 brd ff:ff:ff:ff:ff:ff inet 10.0.0.128/24 brd 10.0.0.255 scope global noprefixroute dynamic eth0 valid_lft 1597sec preferred_lft 1597sec inet6 fe80::1cbf:8d03:8225:3b3f/64 scope link noprefixroute valid_lft forever preferred_lft forever [root@bogon ~]# service network restart Restarting network (via systemctl): [ OK ] [root@bogon ~]# [root@bogon ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:c9:78:c4 brd ff:ff:ff:ff:ff:ff inet 10.0.0.128/24 brd 10.0.0.255 scope global noprefixroute dynamic eth0 valid_lft 1781sec preferred_lft 1781sec inet6 fe80::1cbf:8d03:8225:3b3f/64 scope link noprefixroute valid_lft forever preferred_lft forever [root@bogon ~]#
ls --help
认识linux
文件和目录
1、Windows和Linux文件系统的区别
用户目录
位于/home/user,称之为用户工作目录或家目录,表示方式:
/home/user
~
相对路径和绝对路径
绝对路径:从/目录开始描述的路径为绝对路径,如:cd/home ls/usr
相对路径:从当前位置开始描述的路径为相对路径
2、Linux命令概述
ls 显示当前路径下的所有文件及文件夹;
pwd 表示查看当前所在的路径;
cd 跳转路径;cd ..是跳转到上一层文件夹;(..是相对路径)
如何知道是文件还是文件夹
ls -l
[root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris_1.tar test [root@localhost ~]# ls -l total 16 -rw-r--r--. 1 root root 0 Jul 22 19:17 123_2.py -rw-r--r--. 2 root root 0 Jul 22 19:18 345link_2.py -rw-r--r--. 2 root root 0 Jul 22 19:18 345link.py -rw-------. 1 root root 1304 Jul 21 15:52 anaconda-ks.cfg -rw-r--r--. 1 root root 10240 Jul 22 21:24 kris_1.tar drwxr-xr-x. 3 root root 47 Jul 22 21:03 test 如果是以d开头就表示是个文件夹,以-开头的是个文件;也可以根据颜色区分; [root@localhost ~]# cd .. [root@localhost /]# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [root@localhost /]# ls -l total 16 lrwxrwxrwx. 1 root root 7 Jul 21 15:38 bin -> usr/bin dr-xr-xr-x. 5 root root 4096 Jul 21 15:52 boot drwxr-xr-x. 20 root root 3240 Jul 28 19:59 dev drwxr-xr-x. 85 root root 8192 Jul 28 21:49 etc drwxr-xr-x. 2 root root 6 Jul 22 18:23 home lrwxrwxrwx. 1 root root 7 Jul 21 15:38 lib -> usr/lib lrwxrwxrwx. 1 root root 9 Jul 21 15:38 lib64 -> usr/lib64 drwxr-xr-x. 2 root root 6 Apr 11 12:59 media drwxr-xr-x. 2 root root 6 Apr 11 12:59 mnt drwxr-xr-x. 2 root root 6 Apr 11 12:59 opt dr-xr-xr-x. 112 root root 0 Jul 28 19:59 proc dr-xr-x---. 3 root root 238 Jul 22 21:39 root drwxr-xr-x. 26 root root 740 Jul 28 22:00 run lrwxrwxrwx. 1 root root 8 Jul 21 15:38 sbin -> usr/sbin drwxr-xr-x. 2 root root 6 Apr 11 12:59 srv dr-xr-xr-x. 13 root root 0 Jul 28 19:59 sys drwxrwxrwt. 8 root root 151 Jul 28 21:47 tmp drwxr-xr-x. 13 root root 155 Jul 21 15:38 usr drwxr-xr-x. 19 root root 267 Jul 21 16:03 var [root@localhost /]# pwd /
.. 是相对路径
绝对路径要写cd /bin/要加/ /,想跳到哪里都可以。
自动补全
在敲出命令的前几个字母的同时,按下tab键,系统会帮我们补全命令
查看帮助文档
<1>--help
一般是linux命令自带的帮助信息,如ls --help
<2>man(有问题找男人,manual)
man是linux提供的一个手册,包含了绝大部分的命令、函数使用说明;该手册分成很多章节(section),使用man时可以指定不同的章节来浏览。
历史命令:
当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来
3、Linux命令-文件、磁盘管理
[root@localhost ~]# pwd /root [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris_1.tar test [root@localhost ~]# ls ../ 也可以查看相对路径下的文件或文件夹 bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [root@localhost ~]#
创建文件是touch 123.py
ls -a 表示隐藏文件也显示;ls -l 是列表;ls -h 是大小;ls -alh 顺序无所胃
通配符
<2>重定向(重新规定它显示的方向)
<3>分屏显示more
<4>管道: |
按空格键就慢慢都显示出来了
<6>切换工作目录:cd
cd ~ 表示返回到家目录
<7>创建目录:mkdir
[root@localhost ~]# mkdir kris [root@localhost ~]# ls anaconda-ks.cfg kris [root@localhost ~]# ls -l total 4 -rw-------. 1 root root 1304 Jul 21 15:52 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Jul 22 18:05 kris [root@localhost ~]#
[root@localhost ~]# cd kris/
[root@localhost kris]# pwd
/root/kris
rmdir只能删除空文件夹
<8>删除目录:rmdir
可使用rmdir命令删除一个目录,必须离开目录,并且目录必须为空,不然提示删除失败。
<9>删除文件:rm
可通过rm删除文件或目录,使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。
常用参数及含义如下表所示:
rm test -r 加上 -r 是删除非空的文件夹;rm只能删除文件,rmdir只能删除空目录(空文件夹);rm删除的东西在linux里边很难恢复。
rm test -f 是强制删除;rm test -rf 强制删除。
<10>创建链接文件:In(快捷方式)
Linux链接文件类似于windows下的快捷方式;链接文件分为软链接和硬链接。
软链接:源文件删了,快捷方式就打不开了;
硬链接:源文件删了,快捷方式还可以打开。
linux系统,删除文件的时候,它会看看你这个内容有多少个文件名,比如说2个;它删一个只是删除了一个文件名,文件个数减去1;最后发现减到0了就真的删出了。
怎么看它文件数有几个呢?见下
[root@localhost ~]# ls -l total 4 -rw-r--r--. 1 root root 0 Jul 22 19:17 123.py -rw-r--r--. 2 root root 0 Jul 22 19:18 345link.py -rw-r--r--. 2 root root 0 Jul 22 19:18 345.py -rw-------. 1 root root 1304 Jul 21 15:52 anaconda-ks.cfg [root@localhost ~]# ln 345.py 345link_2.py 再添加个硬链接,个数变为3个。 [root@localhost ~]# ls -l total 4 -rw-r--r--. 1 root root 0 Jul 22 19:17 123.py -rw-r--r--. 3 root root 0 Jul 22 19:18 345link_2.py -rw-r--r--. 3 root root 0 Jul 22 19:18 345link.py -rw-r--r--. 3 root root 0 Jul 22 19:18 345.py -rw-------. 1 root root 1304 Jul 21 15:52 anaconda-ks.cfg [root@localhost ~]#
<11>cat 查看或者合并文件内容
<12> grep是在一个文件中去搜索东西
<13>查找文件:find
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
find是从路径里边找文件
[root@localhost ~]# ls -l total 4 -rw-r--r--. 1 root root 0 Jul 22 19:17 123.py -rw-r--r--. 3 root root 0 Jul 22 19:18 345link_2.py -rw-r--r--. 3 root root 0 Jul 22 19:18 345link.py -rw-r--r--. 3 root root 0 Jul 22 19:18 345.py -rw-------. 1 root root 1304 Jul 21 15:52 anaconda-ks.cfg [root@localhost ~]# pwd /root [root@localhost ~]# find /home/ -name 123.py [root@localhost ~]# find /root/ -name 123.py 在root目录下查找文件 /root/123.py [root@localhost ~]# find / -name 123.py 不知道它在哪个目录下的查找方式 /root/123.py ^C 按ctrl+c结束查找 [root@localhost ~]# find /root/ -name 123* /root/123.py [root@localhost ~]#
<14> cp拷贝文件
cp命令的功能是将给出的文件或目录复制到另外一个文件或目录中,相当于DOS下的copy命令。常用选项说明:
[root@localhost ~]# ls 123.py 345link_2.py 345link.py 345.py anaconda-ks.cfg [root@localhost ~]# mkdir test [root@localhost ~]# ls 123.py 345link_2.py 345link.py 345.py anaconda-ks.cfg test [root@localhost ~]# cp 123.py test/ [root@localhost ~]# ls test/ 123.py [root@localhost ~]# tree -bash: tree: command not found [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# mkdir test2 [root@localhost ~]# ls 123.py 345link_2.py 345link.py 345.py anaconda-ks.cfg test test2 [root@localhost ~]# ls test 123.py [root@localhost ~]# cp test test2/ cp: omitting directory ‘test’ [root@localhost ~]# cp test test2/ -r 拷贝文件夹需要加-r;拷贝文件不需要加
[root@localhost ~]# tree 在ubuntu中是一个树状的结构 -bash: tree: command not found [root@localhost ~]# ls test2 test [root@localhost ~]#
<15>mv移动(相当于剪切的功能了,可以移动也可以重命名)
[root@localhost ~]# ls 123.py 345link_2.py 345link.py 345.py anaconda-ks.cfg test test2 [root@localhost ~]# mv 345.py test 把345.py文件移动到test文件中; [root@localhost ~]# ls 123.py 345link_2.py 345link.py anaconda-ks.cfg test test2 [root@localhost ~]# ls test 123.py 345.py [root@localhost ~]# mv test2/ test/ 把test2文件移动到test文件中 ; [root@localhost ~]# ls test 123.py 345.py test2
<16>归档管理:tar
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式tar[参数]打包文件名 文件;tar命令很特殊,其参数前面可以使用"-",也可以不使用。
把1.txt、2.txt、3.txt 三个文件打包成test.tar; -xvf是解包
[root@localhost ~]# ls *.py 123_2.py 345link_2.py 345link.py [root@localhost ~]# tar -cvf kris_1.tar *.py 打包 123_2.py 345link_2.py 345link.py [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris_1.tar test [root@localhost ~]# mv kris_1.tar/ test/ 移动不了,不知道为什么?? mv: cannot stat ‘kris_1.tar/’: Not a directory [root@localhost ~]# ls test 123.py 345.py test2 [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris_1.tar test [root@localhost ~]# tar -xvf kris_1.tar 解包 123_2.py 345link_2.py 345link.py [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris_1.tar test [root@localhost ~]#
<17>文件压缩解压:gzip
tar与gzip命令结合使用实现文件打包、压缩。tar只负责打包压缩文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [选项] 被压缩文件
解压用法:tar zxvf压缩包包名
-z:指定压缩包的格式为:file.tar.gz
[root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg ls.txt test [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg ls.txt test [root@localhost ~]# tar -zcvf kris-1.tar.gz *.py 既打包又压缩了 123_2.py 345link_2.py 345link.py [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris-1.tar.gz ls.txt test [root@localhost ~]# rm *.py rm: remove regular empty file ‘123_2.py’? yes rm: remove regular empty file ‘345link_2.py’? yes rm: remove regular empty file ‘345link.py’? yes [root@localhost ~]# ls anaconda-ks.cfg kris-1.tar.gz ls.txt test [root@localhost ~]# tar -zxvf kris-1.tar.gz 123_2.py 345link_2.py 345link.py [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris-1.tar.gz ls.txt test [root@localhost ~]#
可以指定位置
[root@localhost ~]# tar -zxvf kris-1.tar.gz -C test/ 123_2.py 345link_2.py 345link.py [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris-1.tar.gz ls.txt test [root@localhost ~]# ls test/ 123_2.py 345link_2.py 345link.py test2
<18>文件压缩解压:bzip2
[root@localhost ~]# rm test/ -r 删除文件的 rm: descend into directory ‘test/’? yes rm: descend into directory ‘test/test2’? yes rm: descend into directory ‘test/test2/test’? yes [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg ls.txt [root@localhost ~]# tar -zcvf kris-1.tar.gz *.py 打包解压的两种方式 123_2.py 345link_2.py 345link.py [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris-1.tar.gz ls.txt [root@localhost ~]# tar -jcvf kris-2.tar.bz2 *.py 123_2.py 345link_2.py 345link.py [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris-1.tar.gz kris-2.tar.bz2 ls.txt [root@localhost ~]# rm *.py rm: remove regular empty file ‘123_2.py’? yes rm: remove regular empty file ‘345link_2.py’? yes rm: remove regular empty file ‘345link.py’? yes [root@localhost ~]# ls anaconda-ks.cfg kris-1.tar.gz kris-2.tar.bz2 ls.txt [root@localhost ~]# tar -jxvf kris-2.tar.bz2 123_2.py 345link_2.py 345link.py [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris-1.tar.gz kris-2.tar.bz2 ls.txt
<19>文件压缩解压:zip、unzip
[root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris-1.tar.gz kris-2.tar.bz2 ls.txt [root@localhost ~]# zi -bash: zi: command not found [root@localhost ~]# zi zic zip zipcloak zipgrep zipinfo zipnote zipsplit [root@localhost ~]# zip mmmm *.py adding: 123_2.py (stored 0%) adding: 345link_2.py (stored 0%) adding: 345link.py (stored 0%) [root@localhost ~]# ls 123_2.py 345link_2.py 345link.py anaconda-ks.cfg kris-1.tar.gz kris-2.tar.bz2 ls.txt mmmm.zip [root@localhost ~]# rm *.py rm: remove regular empty file ‘123_2.py’? yes rm: remove regular empty file ‘345link_2.py’? yes rm: remove regular empty file ‘345link.py’? yes [root@localhost ~]# ls anaconda-ks.cfg kris-1.tar.gz kris-2.tar.bz2 ls.txt mmmm.zip [root@localhost ~]# unzip -d test mmmm.zip 没有test就创建 Archive: mmmm.zip extracting: test/123_2.py extracting: test/345link_2.py extracting: test/345link.py [root@localhost ~]# ls anaconda-ks.cfg kris-1.tar.gz kris-2.tar.bz2 ls.txt mmmm.zip test [root@localhost ~]# ls test/ 123_2.py 345link_2.py 345link.py [root@localhost ~]#
<20>查看命令的位置which
[root@localhost ~]# ls /bin/l* [root@localhost ~]# cd /bin/ [root@localhost bin]# ls [root@localhost bin]# cd /usr/sbin/ [root@localhost sbin]# ls [root@localhost home]# cd root/ -bash: cd: root/: No such file or directory [root@localhost home]# cd .. [root@localhost /]# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var [root@localhost /]# cd root/ [root@localhost ~]# ls anaconda-ks.cfg kris-1.tar.gz kris-2.tar.bz2 ls.txt mmmm.zip test [root@localhost ~]# which ls alias ls='ls --color=auto' /usr/bin/ls [root@localhost ~]#
退出超级管理员用exit