zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    超级钢琴 2010年NOI
    vijos P1375 大整数(高精不熟的一定要做!)
    COGS 445. [HAOI2010]最长公共子序列
    系统升级
    mariabd mysql升级mariadb
    mysql view 视图
    mysql 杂
    mysql主从复制
    DNS迭代查询与递归查询的区别
    Python 中 str 和 repr 的区别
  • 原文地址:https://www.cnblogs.com/shengyang17/p/9347133.html
Copyright © 2011-2022 走看看