zoukankan      html  css  js  c++  java
  • Linux_目录基本操作_常用命令【详解】

    Linux_常用命令
    Linux文件系统的目录树结构:【Linux世界里一切皆文件】:说白了,就是文件和文件夹(目录)之间的操作。
    普通用户kkb所有文件及文件夹,其实都位于root用户的 /home/kkb/ 目录下。
    root用户的根目录是 /root/ 目录下。
    1. pwd命令
    作用:查看当前工作路径
    2. cd命令
    作用:切换到目标目录
    eg:切换到software目录
    cd  /software
    3. ls命令
    作用:查看目录
    查看当前目录概要信息:ls
    查看当前目录/文件详细信息:ll
    4. mkdir命令
    作用:创建目录(文件夹)。mkdir 是“make directory” 的缩写词。
    eg:在当前目录下创建一个目录t0
    mkdir  t0
    eg:同时创建多个目录t1 t2
    mkdir  t1  t2
    eg:创建的目录包含子目录(需要使用 -p 参数)
    创建名为 t3 的目录,在它的目录下包含有子目录file_builddate_build
    mkdir  -p  t5/file_build  t5/date_build
    5. touch命令
    作用:创建一个空的文件
    eg:创建文件test1
    touch  test1
    drwxr形式的:文件夹。-rw-形式的:文件
    可使用 vi 命令,来对空文件进行编辑,后面会介绍此命令。
    6. cat命令
    作用:查看文件内容(打开文件)
    cat  文件名
    7. rm命令
    作用:删除文件、目录(文件夹)
    -r :向下递归,不管有多少级目录,一并删除
    -f :直接强行删除,不作任何提示的意思
    eg:删除文件夹(将会删除 /var/log/httpd/access 目录以及其下所有文件、文件夹)【推荐使用 -rf 】
    rm  -rf  /var/log/httpd/access
    eg:删除文件(将会强制删除/var/log/httpd/access.log这个文件)
    rm  -f  /var/log/httpd/access.log
    eg:刪除除了要保留的txt文件以外的文件
    (1)删除除了1.txt以外的其他文件:
    rm  -rf  !(1.txt)
    (2)如果是多个要排除的,可以这样:
    rm  -rf  !(1.txt|2.txt) 
    (3)或者也可以这样,删除除了txt以外的文件:
    rm  -rf  !(*.txt)
    8. cp命令
    作用:拷贝文件或文件夹
    eg:将test1文件copy到t3目录下
    cp  /test1  /home/kkb/t3
    9. mv命令
    作用:
    (1). 重命名文件或目录
    (2). 剪切文件或目录
    eg:
    (1). 将test1文件改名为test2
    mv  test1  test2
    (2). 将test2剪切到t3目录下
    mv  test2  /t3
    10. scp命令
    作用:将本机的文件或目录,远程上传/Copy到另一台机器上。【这里涉及到目录就要加:-r】
    eg:上传/Copy文件
    [kkb@slave01 ~]$ scp  test2  kkb@slave02:/home/kkb
    eg:上传/Copy文件夹(目录)
    [kkb@slave01 ~]$ scp  -r  test2  kkb@slave02:/home/kkb
    eg:把另一台机器上的文件或目录远程下载/Copy到本机上(逆向思维)【命令最后要有:点】
    [kkb@slave01 ~]$ scp kkb@slave02:/home/kkb/words .
    对文件夹的下载操作,只需要在命令中多加一个 -r
    [kkb@slave01 ~]$ scp -r kkb@slave02:/home/kkb/words .
    11. vi(vim)命令
    作用:
    (1)当针对存在的文件/文件夹时,vi(vim)命令充当进入编辑的命令
    (2)当针对不存在的文件时,vi(vim)命令充当创建文件的命令,但创建的文件一定是有数据或内容的才能创建成功
    命令模式:(文件只能看,不能编辑)
    保存退出:wq  
    不保存强制退出:q! 
    退出:q
    插入模式:(可以编辑文件)
    按 a 或 i ,可以进入插入模式,然后对文档编辑
    编辑文件的整个流程:
    命令模式:


    插入模式:(按 a 或 i 进入)
    插入模式可以对文档进行自定义随意的编辑。
    按Esc键后,输入冒号:wq,回车,则代表保存并退出文件

    12. chown命令
    作用:修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。
    当只需要修改所有者时,可使用如下 chown 命令的基本格式:【-R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。】
    chown  [-R]  所有者  文件或目录
    如果需要同时更改所有者和所属组,chown 命令的基本格式为:
    chown  [-R]  所有者:所属组  文件或目录
    注意,在 chown 命令中,所有者和所属组中间也可以使用点(.),但会产生一个问题,如果用户在设定账号时加入了小数点(例如 zhangsan.temp),就会造成系统误判。因此,建议大家使用冒号连接所有者和所属组。
    另外需要注意的一点是,使用 chown 命令修改文件或目录的所有者(或所属者)时,要保证使用者用户(或用户组)存在,否则该命令无法正确执行,会提示 "invalid user" 或者 "invaild group"。
    eg:其实,修改文件的所有者,更多时候是为了得到更高的权限,举一个实例:
    [root@slave01 ~]# touch file            #由root用户创建file文件
    [root@slave01 ~]# ll file                   #查看file文件的详细信息
    -rw-r--r--. 1 root root 0 Apr 17 05:12 file        # 表明所有者是root(前),所属者是root(后),普通用户kkb对这个文件拥有只读权限
    [root@slave01 ~]# chown kkb file               #修改文件的所有者为kkb
    [root@slave01 ~]# ll file                              #查看file文件的详细信息
    -rw-r--r--. 1 kkb root 0 Apr 17 05:12 file        # 表明所有者是kkb(前),所属者是root(后),普通用户kkb对这个文件拥有读、写权限了
    eg:Linux 系统中,用户等级权限的划分是非常清楚的,root 用户拥有最高权限,可以修改任何文件的权限,而普通用户只能修改自己文件的权限(所有者是自己的文件),例如:
    [root@slave01 ~]# cd /home/kkb                     #进入kkb普通用户的家home目录下
    [root@slave01 kkb]# touch test                       #由root用户新建文件test
    [root@slave01 kkb]# ls                                    #查看kkb普通用户的家home目录的简要信息
    Desktop Documents Downloads Music Pictures Public t3 Templates test test2 test3 Videos words
    [root@slave01 kkb]# ll test                              #查看test文件的详细信息
    -rw-r--r--. 1 root root 0 Aug 11 15:08 test           # 文件的所有者为(root)

    [root@slave01 kkb]# su - kkb                          #切到kkb普通用户下,看可否不顾用户等级权限来进行操作?
    Last login: Sun Aug 11 14:58:21 CST 2019 on pts/0
    [kkb@slave01 ~]$ chmod 755 test                  # 想对文件test进行755授权
    chmod: changing permissions of ‘test’: Operation not permitted   # 但由于文件test是root用户创建的,kkb普通用户不能对其授权
    [kkb@slave01 ~]$ exit                                    # 切回root用户
    logout

    [root@slave01 kkb]# chown kkb test              # 修改文件的所有者(root---kkb)
    [root@slave01 kkb]# ll test                             #查看test文件的详细信息
    -rw-r--r--. 1 kkb root 0 Aug 11 15:08 test          # 文件的所有者改为(kkb)
    [root@slave01 kkb]# su - kkb                        # 切到kkb普通用户下,看这回可否来进行操作?
    Last login: Sun Aug 11 15:08:52 CST 2019 on pts/0
    [kkb@slave01 ~]$ chmod 755 test                    # 想对文件test进行755授权,kkb用户由于是test文件的所有者,所以这回可以
    [kkb@slave01 ~]$ ll test                                    #查看test文件的详细信息
    -rwxr-xr-x. 1 kkb root 0 Aug 11 15:08 test          # 文件授权成功(-rw-r--r-- 变为 -rwxr-xr-x)
     
    eg:修改文件的所属者,举一个实例:
    13. chmod命令
    作用:更改文件或者目录的权限
    chmod  [-R]  755  文件或目录
    【-R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。】
    • 说明 : Linux的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以控制档案如何被他人所调用。 
          root:系统特权用户类,既 UID = 0 的用户 
          owner:拥有文件的用户 
          group:拥有文件的用户组 
          other:不属于上面 3 类的所有其他用户
    • chmod命令:可以用数字来表示权限如:chmod 755 file 
    • 语法为:chmod abc file 
    • 其中a,b,c各为一个数字,分别表示Owner、Group、及Other的权限。 每个abc都由rwx-四个元素组成。
           r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。 
      r=4,   w=2,   x=1,   -=0 
      若要 rwx 属性则4+2+1=7; 
      若要 rw- 属性则4+2=6; 
      若要 r-x 属性则4+1=5;
           若要 r-- 属性则4;
           若要 -wx 属性则3;
           若要 -w- 属性则2;
           若要 --x 属性则1;
    • chmod a=rwx file 和 chmod 777 file 效果相同 chmod ug=rwx,o=x file 和 chmod 771 file 效果相同 
      若用chmod 4755 filename可使此程序具有root的权限
           PS:此处chmod 4755 filename中的第一位数4表示高位特殊权限
      主要有三种高位特殊权限 S :SUID SGID SBIT
    参考文档:https://www.cnblogs.com/huxinga/p/9946464.html 【 chmod 命令还有补充,单上面已满足基本操作】
    Linux命令大全:(结合着学习)
  • 相关阅读:
    Python中的logging模块
    Windows 域(domain)
    linux下查看某软件是否已安装, ubuntu安装deb包
    linux之iptables
    linux之flock函数锁文件
    《上班赚钱,下班理财》
    Get the image file(s) some informations,Including the Make,Model,Date/Time,etc
    java中的Integer的toBinaryString()方法
    面试题中遇到的SQL题目
    get和post方法的区别
  • 原文地址:https://www.cnblogs.com/wulw829/p/11335696.html
Copyright © 2011-2022 走看看