Linux_目录基本操作_常用命令【详解】

Linux_常用命令
Linux文件系统的目录树结构:【Linux世界里一切皆文件】:说白了,就是文件和文件夹(目录)之间的操作。
Linux_目录基本操作_常用命令【详解】
普通用户kkb所有文件及文件夹,其实都位于root用户的 /home/kkb/ 目录下。
root用户的根目录是 /root/ 目录下。
Linux_目录基本操作_常用命令【详解】
1. pwd命令
作用:查看当前工作路径
Linux_目录基本操作_常用命令【详解】
2. cd命令
作用:切换到目标目录
eg:切换到software目录
cd  /software
Linux_目录基本操作_常用命令【详解】
3. ls命令
作用:查看目录
查看当前目录概要信息:ls
查看当前目录/文件详细信息:ll
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
4. mkdir命令
作用:创建目录(文件夹)。mkdir 是“make directory” 的缩写词。
eg:在当前目录下创建一个目录t0
mkdir  t0
eg:同时创建多个目录t1 t2
mkdir  t1  t2
Linux_目录基本操作_常用命令【详解】
eg:创建的目录包含子目录(需要使用 -p 参数)
创建名为 t3 的目录,在它的目录下包含有子目录file_builddate_build
mkdir  -p  t5/file_build  t5/date_build
Linux_目录基本操作_常用命令【详解】
5. touch命令
作用:创建一个空的文件
eg:创建文件test1
touch  test1
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
drwxr形式的:文件夹。-rw-形式的:文件
可使用 vi 命令,来对空文件进行编辑,后面会介绍此命令。
6. cat命令
作用:查看文件内容(打开文件)
cat  文件名
Linux_目录基本操作_常用命令【详解】
7. rm命令
作用:删除文件、目录(文件夹)
-r :向下递归,不管有多少级目录,一并删除
-f :直接强行删除,不作任何提示的意思
eg:删除文件夹(将会删除 /var/log/httpd/access 目录以及其下所有文件、文件夹)【推荐使用 -rf 】
rm  -rf  /var/log/httpd/access
Linux_目录基本操作_常用命令【详解】
eg:删除文件(将会强制删除/var/log/httpd/access.log这个文件)
rm  -f  /var/log/httpd/access.log
Linux_目录基本操作_常用命令【详解】
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
Linux_目录基本操作_常用命令【详解】
9. mv命令
作用:
(1). 重命名文件或目录
(2). 剪切文件或目录
eg:
(1). 将test1文件改名为test2
mv  test1  test2
Linux_目录基本操作_常用命令【详解】
(2). 将test2剪切到t3目录下
mv  test2  /t3
Linux_目录基本操作_常用命令【详解】
10. scp命令
作用:将本机的文件或目录,远程上传/Copy到另一台机器上。【这里涉及到目录就要加:-r】
eg:上传/Copy文件
[kkb@slave01 ~]$ scp  test2  kkb@slave02:/home/kkb
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
eg:上传/Copy文件夹(目录)
[kkb@slave01 ~]$ scp  -r  test2  kkb@slave02:/home/kkb
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
eg:把另一台机器上的文件或目录远程下载/Copy到本机上(逆向思维)【命令最后要有:点】
[kkb@slave01 ~]$ scp kkb@slave02:/home/kkb/words .
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
对文件夹的下载操作,只需要在命令中多加一个 -r
[kkb@slave01 ~]$ scp -r kkb@slave02:/home/kkb/words .
11. vi(vim)命令
作用:
(1)当针对存在的文件/文件夹时,vi(vim)命令充当进入编辑的命令
(2)当针对不存在的文件时,vi(vim)命令充当创建文件的命令,但创建的文件一定是有数据或内容的才能创建成功
Linux_目录基本操作_常用命令【详解】
命令模式:(文件只能看,不能编辑)
保存退出:wq  
不保存强制退出:q! 
退出:q
插入模式:(可以编辑文件)
按 a 或 i ,可以进入插入模式,然后对文档编辑
编辑文件的整个流程:
Linux_目录基本操作_常用命令【详解】
命令模式:
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
插入模式:(按 a 或 i 进入)
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
插入模式可以对文档进行自定义随意的编辑。
Linux_目录基本操作_常用命令【详解】
按Esc键后,输入冒号:wq,回车,则代表保存并退出文件
Linux_目录基本操作_常用命令【详解】
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)
 
Linux_目录基本操作_常用命令【详解】
eg:修改文件的所属者,举一个实例:
Linux_目录基本操作_常用命令【详解】
13. chmod命令
作用:更改文件或者目录的权限
chmod  [-R]  755  文件或目录
【-R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。】
  • 说明 : Linux的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以控制档案如何被他人所调用。 
      root:系统特权用户类,既 UID = 0 的用户 
      owner:拥有文件的用户 
      group:拥有文件的用户组 
      other:不属于上面 3 类的所有其他用户
  • chmod命令:可以用数字来表示权限如:chmod 755 file 
Linux_目录基本操作_常用命令【详解】
Linux_目录基本操作_常用命令【详解】
  • 语法为: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命令大全:(结合着学习)