Linux学习笔记9 Linux常用命令

该博文内容是建立在centos6.6的基础上,所有个别差异请百度解决。。。

目前Linux总共命令大约有3000多种,常用的200多种,要熟悉精通的70种左右

人为将Linux命令进行分类:

一、命令基本格式

    1>命令提示符

        [root@localhost ~]#

            root     当前登录用户为管理员用户

            localhost    主机名    

            ~    当前所在目录(家目录,初始登录目录,超级用户的架是根目录下的一级目录/root,普通用户的家目录是home下的二级目录      /home/userl/)        pwd 显示当前目录    cd 切换目录

            #    超级用户提示符

                   普通用户提示符是$

   2> 命令格式

        命令 [选项]    [参数]

            注意:    个别命令使用不遵循此格式,

                           当有多个选项时,可以写在一起

                            简化选项与完整选项

                            -a 等于 --all  简化 用一个减号-       完整选项 用两个减号--

    1、查询目录中的内容    ls

        ls    [选项]    [文件或者目录]

            选项:

                        -a     显示所有文件,包括隐藏文件

                        -l(longlist)    显示详细信息                   //    别名:ll

                

                                -rw-r--r--.        默认是10位

                          第一位         - 文件类型(- 文件 d 目录 l 软链接文件(快捷方式)) 共有7中文件类型:还有其他四种块设备文件,字符设备文件,套接字文件,管道文件

                           后面的9位,每三位为一组,例如:rw-代表文件的u所有者、r--代表g所属组、r--代表o其他人(用户跟文件之间的关系),目的是为了区分权限,同时r读、w写、x执行

                           "."    代表ACL权限,出现在centos6之后 

                            ”1“    代表    引用计数

                             第一个"root"代表文件的所有者

                             第二个"root"代表文件的所属组 

                              eg:1645    此处数字代表文件的大小    单位为byte(字节)可用    ls    -lh     其中h是human的缩写 查看文件的大小,是以k,M, 等容易读的单位结束     人性化显示

                            时间为最后一次修改文件的时间    

                             最后一列为文件名

                        -d    查看目录属性    d(direct)

                                ls    -ld    查看目录本身的权限

                        -h    人性化显示文件大小

                        -i    显示inode     显示i节点    前面是ID号,后面是文件名

                      

               Linux文件中    以 "."开头文件为隐藏文件    是系统文件

二、文件处理命令    

    目录处理命令    

        目录相当与windows下的文件夹

      2、  建立目录    mkdir                                          创建文件     touch [文件名]

              mkdir    -p    [目录名]    

               -p    递归创建:    创建一连串的目录

                命令英文原意  :make directories 

       3、    切换目录    cd    

                    cd    [目录]

                     英文原意:change directory                                    //    Ctrl+L 清屏

                    简化操作:                                                        

                                    cd    ~     进入当前用户的家目录    直接用cd也可以

                                    cd    -    进入上次目录

                                    cd    ..    进入上一级目录        windows下是cd..  中间没有空格

                                    cd    .    进入当前目录        

                        相对路径:参照当前所在的目录,进行查找

                         eg:    [root@imooc ~]#    cd ../usr/local/src/

                        绝度路径:从根目录下开始指定,一级一级递归查找。在任何目录下,都能进入指定位置

                        eg:      [root@imooc ~]# cd /etc/          

                                  刚开始学推荐使用绝对路径

                          Tip :        Tab     命令或目录补全       

           4、查看所在目录位置:pwd    

               pwd    

                英文原意:    print working directory

            5、删除空目录: rmdir             //        极其少用了

                rmdir [目录名]

                    英文原意:    remove empty directories

    文件处理命令

            6、删除文件或者目录:rm        rm [文件名]   可以直接删除文件

                rm -rf [文件或者目录]                    //    习惯用法,但是删除的时候需要特别小心

                    英文命令原意:remove

                选项:

                    -r  删除目录

                    -f  强制

            7、复制命令:    cp

                cp  [选项]    [原文件或者原目录]    [目标文件]

                    命令英文原意:copy

                选项:

                        -r    复制目录

                        -p    连文件带属性复制

                        -d    若原文件是链接文件,则复制链接属性        

                        -a    相当于    -pdr            复制后的属性完全一模一样      包括时间      

            8、剪切或改名命令:mv

                mv    [原文件或目录]    [目标目录]               //    在同一目录下时,为改名命令 

                    命令英文原意:move                            //    不在同一目录下时,为剪切命令

   

                 

        <1>/根目录下的bin和sbin,/usr目录下的bin和sbin,这四个目录都是用来保存系统命令的。 区别在于,bin目录下普通用户可以执行其内部的命令,而sbin中的命令只能使用超级用户才能执行

         <2>/boot中保存的是启动系统的数据,不能随便操作,

         <3>/dev 目录下基本都是硬件文件,不太常用

         <4>/etc目录保存的系统默认配置文件目录,在后续的服务环境搭载时要经常用

         <5>/home普通用户家目录

         <6>/root是超级用户家目录

         <7>/lib是Linux函数库的位置

         <8>/misc挂磁带机    /media挂光盘     /mnt挂U盘,移动硬盘   空目录,用来挂载相应的外设

         <9>/proc和/sys目录不能直接操作,这两个目录保存的是内存的过载点,是直接写入内存的

         <10>/tmp,临时数据可以保存在这里

         <11>/var,用来保存系统可变文档的目录

        综上所述:可以在家目录root或home,以及tmp目录下随便方内容。

  链接处理命令

        9、链接命令:ln

                ln -s [原文件] [目标文件]

                    命令英文原意:link

                    功能描述:生成链接文件

                          选项: -s    创建软链接    (soft)

                硬链接特征:      ln  [原文件] [目标文件]        不建议使用

                    1>拥有相同的i节点和储存block块,可以看做是同一个文件

                    2>可通过i节点识别

                    3>不能跨分区

                    4>不能针对目录使用

                软链接特征:                   //    软链接原文件一定要写绝对路径 要不然不再同一目录下会报错

                    1>类似Windows快捷方式,简直一模一样

                    2>软链接拥有自己的i节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据

                    3>lrwxrwxrwx I软链接

                            软链接文件权限都是rwxrwxrwx

                    4>修改任意文件,另一个都改变

                    5>删除原文件,软链接都不能使用

 

三、文件搜索命令

       10、 文件搜索命令locate                 奇怪了我的centos中没有这个命令???????????

                    locate 文件名            只能搜索文件名

                        在后台数据库中按文件名搜索,搜索速度更快

                    搜索位置:    /var/lib/mlocate

                        #locate命令所搜索的后台数据库

                     updatedb     更新数据库        

                    实则locate必须遵守     /etc/updatedb.conf配置文件进行搜索的

                    PRUNE_BIND_MOUNTS = "yes"

                    #开启搜索限制

                    PRUNEFS =

                    #搜索时,不搜索的文件系统

                    PRUNENAMES =

                    #搜索时,不搜索的文件类型

                    PRUNEPATHS = 

                    搜索时,不搜索的路径 

   命令搜索命令whereis与which                           

      11、搜索命令的命令whereis        类似有趣whoami      但是whatis 没有找到??????????

                whereis 命令名            #搜索命令所在路径及帮助文档所在位置,只能查找系统命令

                        选项:

                                -b        只查找可执行文件

                                -m        只查找帮助文件

        12、搜索命令的命令which     

                which    文件名                #搜索命令所在路径及别名       

       以上两个命令只能搜索的是外来系统的命令,不能搜索类似cd的系统内置命令

          PATH 环境变量

          PATH环境变量: 定义的是系统搜索命令的路径

          [root@localhost ~]# echo $PATH 

           /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/Watt/bin

      13、文件搜索命令find

            Linux中最强大的搜索命令

            find    [搜索范围]    [搜索条件]            #搜索文件

            find    / -name install.log

            #避免大范围搜索,会非常耗费系统资源

            #find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符进行匹配,通配符是完全匹配。

            Linux中通配符

             *            匹配任意字符

            ?           匹配任意一个字符

             []           匹配任意一个中括号内的字符

             find    /root -iname install.log            #不区分大小写

             find    /root -user root                       #按照所有者进行搜索

             find    /root -nouser                           #查找没有所有者的文件

             find    /var/log/ -mtime +10                #查找10天前修改的文件

                                                -10               10天内修改的文件    

                                                   10             10天前修改的文件

                                      atime                     文件访问的时间

                                 ctime                  改变文件属性                                                                                                   

             find . -size 25k         #查找文件大小是25KB的文件    按照千字节,要小写,按照兆字节,要大写

                             +25k                                    >25KB的文件

                             -25k                                      <25KB的文件

              find . -inum 262422                #查找i节点是262422的文件

              find     /etc    -size +20k -a -size -50k       

              #查找/etc/目录下,大于20KB并且小于50KB的文件

              -a and 逻辑与,两个条件都满足

              -o or    逻辑或,两个条件满足一个即可

              

                find   /etc    -size +20k -a -size -50k -exec ls -lh {} \;

                #查找/etc目录下,大于20KB并且小于50KB的文件,并且显示详细信息

               #-exec/ -ok 命令{} \; 对搜索结果执行操作             必须能够直接对前面筛选的命令进行操作

     14、字符串搜素命令grep

            grep [选项] 字符串 文件名    #在文件当中匹配符合条件的字符串

            选项:

                    -i    忽略大小写

                    -v   排除指定字符串

    find命令与grep命令的区别       

                find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符进行匹配,通配符是完全匹配。

                grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,则使用正则表达式进行匹配,正则表达式是包含匹配。     

                         

四、帮助命令

        15、man 

            man 命令      #获取指定命令的帮助

            man ls          #查看ls的帮助

            在我的linux上运行了下,显示不存在man,so 百度解决之。。。。。。

            百度结果需要yum install man* 安装 ,so ,试试呗 (还有一种方案apt-get install man ,显示apt-get命令也不存在)  man* 比man范围要更广。。。

          eg:定位查找/-d   按n向下翻,按shift向上翻

               man的级别

                    1:查看命令的帮助

                    2:查看可被内核调用的函数的帮助

                    3:查看函数和函数库的帮助

                    4:查看特殊文件的帮助(主要是/dev目录下的帮助)

                    5:查看配置文件的帮助

                    6:查看游戏的帮助

                    7:查看其他杂项的帮助

                    8:查看系统管理员可用命令的帮助

                    9:查看和内核相关的文件的帮助            有的文档中没有

           查看命令拥有哪个级别的帮助

                man -f 命令  相当于 whatis 命令

                      eg:   man -5 passwd

                                man  -4 null    

                                man -8 ifconfig

           查看和命令相关的所有帮助

                 man    -k 命令 相当于apropos 命令

                 eg: aprppos passwd                记不清完整命令的时候

       其他帮助命令

          16、选项帮助

           命令 --help            #获取命令选项的帮助

                    eg: ls --help    

           17、shell内部命令帮助

           help shell内部命令            #获取shell内部命令的帮助

           例如:   whereis cd   #确定是否是shell内部的命令

                        help cd        #获取内部命令的帮助

            18、详细命令帮助 info

                info 命令                                操作比较繁琐

                    -回车:进入子帮助页面(带有*号标记)

                    - u:    进入上层页面

                    - n:    进入下一个帮助小节

                    - p:    进入上一个帮助小节

                    - q:    退出               

   

五、压缩与解压缩命令

        常用的压缩格式:    .zip    .gz    .bz2

          19、  .zip压缩格式                使用yum install zip* 进行安装        和Windows中的压缩格式相同

                zip    压缩文件名    源文件            #压缩文件

                zip    -r    压缩文件名    源文件     #压缩目录

           20、 .zip格式解压缩                          需要使用yum install unzip*进行安装

                unzip 压缩文件            #解压缩.zip文件或者目录

          21、 .gz格式压缩

                gzip     源文件            #压缩为.gz格式的源文件,源文件会消失

                gzip     -c    源文件  > 压缩文件           相当于输出文件重定向

                    #压缩为.gz格式,源文件会保留

                    eg: gzip     -c  hello > hello.gz

                gzip -r 目录                 #压缩目录下所有的子文件,但是不能压缩目录

         22、.gz格式的解压缩

                gzip  -d    压缩文件                #解压缩文件

                gunzip    压缩文件                  #解压缩文件 

        23、.bz2格式压缩

                bzip2 源文件                #压缩为.bz2格式,不保留源文件

                bzip2    -k    源文件      #压缩之后保留源文件

                注意:bzip2命令不能压缩目录

        24、.bz2格式的解压缩

                bzip2 -d 压缩文件    #解压缩,-k保留压缩文件

                bunzip2 压缩文件    #解压缩,-k保留压缩文件

        常用压缩格式:        .tar.gz    .tar.bz2

        25、打包命令tar

                tar -cvf    打包文件名    源文件

                       选项:

                                -c    打包

                                -v    显示过程

                                -f      指定打包后的文件名

                例如: tar    -cvf    watt.tar     watt

        26、解打包命令

                tar    -xvf    打包文件名

                       选项:    -x:    解打包

                eg:    tar     -xvf    watt.tar

       27、.tar.gz 压缩格式

                其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式

        tar    -zcvf    压缩包名.tar.gz       源文件

                选项: 

                    -z:压缩为.tar.gz格式

        tar    -zxvf    压缩包名.tar.gz

                选项:

                    -x:解压缩.tar.gz格式

      28、.tar.bz2压缩格式

       tar    -jcvf    压缩包名.tar.bz2    源文件

            选项:

                -z:    压缩为.tar.bz2格式

        tar   -jxvf    压缩包名.tar.bz2        -C 指定解压缩位置

            选项:

                -x:    解压缩.tar.bz2格式

                -t:        效果没有出来????????????????

六、关机和重启命令

      29、shutdown命令                                                //date 查看当前时间

           [root@localhost ~]# shutdown [选项] 时间        now是立即

           选项:

                -c:    取消前一个关机命令

                -h:    关机

                -r:    重启            重启前一定要更加注意。。。。。。。。你操作的是服务器

    执行关机命令shutdown -r 23:00后,不能操作其他东西,所以需要按Ctrl+c 控制退出

    或者执行shutdown -r 23 :00 & 加一个后台符,就可以继续其他操作了

    如果不想关机了,那么执行 shutdown -c 取消前一个关机命令

    尽可能不要关机,不能远程关机,一般使用远程重启,             

         30、其他关机命令

                [root@localhost ~]# halt

                [root@localhost ~]# poweroff

                [root@localhost ~]# init 0

           这几个命令只需要做了解,不安全

        31、其他重启命令

                [root@localhost ~]# reboot    较安全,可以使用

                [root@localhost ~]# init 6

        系统运行级别

                0        关机

                1        单用户           相当于Windows中的安全模式,启动最小的系统

                2        不完全多用户,不含NFS服务(文件共享服务)        

                3        完全多用户            字符界面

                4        未分配

                5        图形界面

                6        重启

            [root@localhost ~]# cat /etc/inittab

            #修改系统默认运行级别

            id:3:initdefault:        开机进入字符界面        如果是5 则开机进入图形界面X11       

            [root@localhost ~]# runlevel

             #查看系统运行级别                运行后显示出前一个级别 和当前级别 eg: 5    3    N代表空

     Linux可以允许很多很多用户同时登录,所以退出一定要小心。。。。。。。。。。。

    32、退出登录命令 exit               群友说Ctrl+D也可以,但是不安全

           [root@localhost ~]# logout

            运行了之后,系统提示用“exit”命令。。。。。。。。

          

        要养成良好的操作习惯。。。

 

突然事件:::

        在上面的练习中,因为习惯使用ll查看root家目录下的文件 然后总是显示total 0,误以为该目录下不存在任何文件,使用了rm -rf /root 操作,将root下的文件包含隐藏文件都删除了

        再次启动linux时,执行[Watt@localhost ~]$ su 操作,并输入密码后,变成了bash-4.1#  

        解决办法: 

                     

       上面的三条命令可以直接写为cp .bash_logout .bash_profile .bashrc /root/   

七、其他常用命令    

      挂载命令

      33、查询与自动挂载

            [root@localhost ~]# mount            #查询系统中已经挂载的设备

            [root@localhost ~]# mount -a        #依据配置文件/etc/fstab的内容,自动挂载

      34、挂载命令格式

            [root@localhost ~]# mount [-t 文件系统] [-o 特殊选项] 设备 文件名 挂载点

                选项:

                        -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统

                        -o特殊选项: 可以指定挂载的额外选项

eg: mount -o remount,noexec /home/         #对挂载分区执行取消可执行权限,

    35、挂载光盘

        1、第一步,在虚拟机中放入光盘

        2、[root@localhost ~]# mkdir /mnt/cdrom/         #建立挂载点

        3、[root@localhost ~]# mount -t iso9660 /dev/cdrom     /mnt/cdrom/

            #挂载光盘

            简写:   [root@localhost ~]# mount /dev/sr0     /mnt/cdrom/     

        linux 用完光盘必须要卸载

        36、卸载命令

            [root@localhost ~]# umount    设备文件名或者挂载点

            [root@localhost ~]# umount /mnt/cdrom             卸载前必须退出,而且必须卸载 

            真是环境和虚拟机必须卸载,一旦强迫,,系统会出现错乱

        37、挂载U盘

            [root@localhost ~]# fdisk -l         #查看U盘设备文件名

            [root@localhost ~]# mount -t vfat /dev/sdb1/ /mnt/usb/

            注意:Linux默认是不支持NTFS文件系统的                        #要识别的话需要对内核进行编译

            或者安装NTFS-g32        NTFS只能做只读···········································

            网络传递才是最常用的。。。。。。。。。。。。。。。。。。。

            驱动直接加载在内核中。。。。。。。。。。。。。

   用户登录查看和用户交互命令

            查看用户登录信息

            38、   w    用户名      

                命令输出:

                            USER:登录用户名;

                            TTY:    登录终端;                            #tty1:本机终端;    pts/0    远程终端

                            FROM:    从哪个IP地址登陆;

                            LOGIN@:登陆时间;

                            IDLE:    用户闲置时间;

                            JCPU:    指的是和该终端链接的所有进程占用的时间。这个世间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间;

                            PCPU:    指的是当前进程所占用的时间

                            WHAT: 当前正在运行的命令

                      39、who 用户名

                            命令输出:

                                    --用户名

                                    --登录终端

                                    --登陆时间(登录来源IP地址)

                 查看当前登录和过去登录的用户信息

                        40、last                                                非常重要的命令,可以查看是否有外部入侵

                               last命令默认读取/var/log/wtmp文件数据

                               命令输出

                                    --用户名

                                     --登录终端

                                    --登录IP

                                    --登陆时间

                                    --退出时间(在线时间)

                    41、lastlog    查看所有用户的最后一次登陆时间

                              lastlog命令默认是读取/var/log/lastlog文件内容

                              命令输出

                                    ---用户名

                                    ----登录终端

                                    --登录IP

                                    --最后一次登陆时间

 

 

转载于:https://my.oschina.net/Watto/blog/817133

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值