Linux中用户的分类与用户的家目录
- 在Linux当中,用户的分类只分为两类,一类叫做超级用户root,还有就是其他也就是传说中的普通用户。
- 我们刚刚登进去时,默认所处的目录是***/root或者/home/用户名***,比如说/root, /home/ShenskLinux2003,上面两个目录就被称为root用户的家目录或者ShenskLinux2003用户的家目录。用户的家目录也就是他登陆的时候默认所处的位置
- 支持多用户登录的操作系统被称为多用户操作系统。经典的如:Linux,Windows
- 在CentOS系统当中,所有的普通用户,用户账号都会放在/home目录下面,当你新建一个用户的时候,它自动会在家目录/home下创建一个用户。
- 在正常登陆使用的过程当中可以用whoami,查看当前使用的用户的名字是谁。
ls 指令的语法,功能与选项
- 语法: ls 选项 文件名(就是路径)
- 功能:显示指定文件下的所有文件名(目录+普通文件)
- 选项:
ls指令的选项 -l
- 功能:显示指定文件下的所有文件的详细文件属性(目录+普通文件)
ls指令的选项 -a
- 功能:显示指定文件下的所有文件名(包括隐藏文件)
ls指令的选项 -d
- 功能:显示指定文件它自己的文件属性
ls指令选项 -F
- 功能:显示指定文件下的所有文件名并加个后缀字符。如果说是/表示说这个文件其实是一个目录,带 * 就是表示普通的可执行文件,啥也不带的就是普通的文本文件
实例演示
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ pwd
/home/ShenskLinux2003
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── acwing
├── c
│ ├── stdio.txt
│ ├── stdlib.txt
│ └── string.txt
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
└── leetcode
5 directories, 5 files
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls
acwing c c++ csdn leetcode
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls ./c
stdio.txt stdlib.txt string.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls ./c++
class.txt namespace.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls ./csdn
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls ./acwing
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls
acwing c c++ csdn leetcode
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -l
total 20
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 15:29 acwing
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:20 c
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:22 c++
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 15:29 csdn
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:21 leetcode
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -l ./c++
total 0
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:21 class.txt
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:22 namespace.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -l ./c
total 0
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:19 stdio.txt
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:20 stdlib.txt
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:19 string.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -l ./c/stdio.txt
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:19 ./c/stdio.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -l ./c++/class.txt
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:21 ./c++/class.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -l ../
total 8
drwx------ 3 admin admin 4096 Apr 14 14:57 admin
drwx------ 7 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:21 ShenskLinux2003
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -a
. .. acwing .bash_history .bash_logout .bash_profile .bashrc c c++ csdn leetcode
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -a ./c
. .. stdio.txt stdlib.txt string.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -a ./c++
. .. class.txt namespace.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -a -l ./
total 44
drwx------ 7 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:21 .
drwxr-xr-x. 4 root root 4096 Apr 21 11:38 ..
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 15:29 acwing
-rw------- 1 ShenskLinux2003 ShenskLinux2003 734 Apr 21 15:39 .bash_history
-rw-r--r-- 1 ShenskLinux2003 ShenskLinux2003 18 Oct 31 2018 .bash_logout
-rw-r--r-- 1 ShenskLinux2003 ShenskLinux2003 193 Oct 31 2018 .bash_profile
-rw-r--r-- 1 ShenskLinux2003 ShenskLinux2003 231 Oct 31 2018 .bashrc
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:20 c
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:22 c++
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 15:29 csdn
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:21 leetcode
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -al ./c++/class.txt
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:21 ./c++/class.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -d -l
drwx------ 7 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:21 .
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -d -l ./c
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:20 ./c
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -dl ./c/string.txt
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:19 ./c/string.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -F ./
acwing/ c/ c++/ csdn/ leetcode/
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -F ./c
stdio.txt stdlib.txt string.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -Fl ./c++
total 0
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:21 class.txt
-rw-rw-r-- 1 ShenskLinux2003 ShenskLinux2003 0 Apr 21 16:22 namespace.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ ls -Fl ./
total 20
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 15:29 acwing/
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:20 c/
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:22 c++/
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 15:29 csdn/
drwxrwxr-x 2 ShenskLinux2003 ShenskLinux2003 4096 Apr 21 16:21 leetcode/
pwd指令的功能
- 功能:查看当前的路径
实例演示
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── acwing
├── c
│ ├── stdio.txt
│ ├── stdlib.txt
│ └── string.txt
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
└── leetcode
5 directories, 5 files
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ pwd
/home/ShenskLinux2003
cd指令的语法,功能与举例
- 语法: cd 目录名(就是路径)
- 功能:改变工作目录,将当前工作目录改变到指定的目录下。
- 举例:
cd指令的举例 cd ~
- 功能:跳转到当前用户的家目录
cd指令的举例 cd-
- 功能:跳转到最近访问的目录
cd指令的举例 cd /
- 功能:跳转到根目录
实例演示
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ c]$ pwd
/home/ShenskLinux2003/c
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ c]$ cd ..
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ pwd
/home/ShenskLinux2003
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ cd ./c
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ c]$ cd /
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ /]$ pwd
/
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ /]$ cd ~
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ pwd
/home/ShenskLinux2003
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ cd -
/
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ /]$ pwd
/
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ /]$ cd ./home/ShenskLinux2003/c
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ c]$ pwd
/home/ShenskLinux2003/c
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ c]$ cd /
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ /]$ cd -
/home/ShenskLinux2003/c
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ c]$ pwd
/home/ShenskLinux2003/c
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ c]$ cd -
/
mkdir指令的语法,功能与选项
- 语法:mkdir 选项 目录名(就是路径)
- 功能:在当前目录下创建一个目录
- 选项:-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
mkdir指令选项 -p
- 功能:在当前目录下面递归去建立一个又一个目录,去创建一批目录,也就是说去创建一串路径,对应到树状结构里面相当于就是创建了一条分支
实例演示
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── 1
├── acwing
├── c
│ ├── stdio.txt
│ ├── stdlib.txt
│ └── string.txt
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
└── leetcode
6 directories, 5 files
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ mkdir 2
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── 1
├── 2
├── acwing
├── c
│ ├── stdio.txt
│ ├── stdlib.txt
│ └── string.txt
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
└── leetcode
7 directories, 5 files
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ mkdir -p 1/2/3/4/5
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── 1
│ └── 2
│ └── 3
│ └── 4
│ └── 5
├── 2
├── acwing
├── c
│ ├── stdio.txt
│ ├── stdlib.txt
│ └── string.txt
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
└── leetcode
11 directories, 5 files
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ mkdir -p 1/2/3/8/8
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── 1
│ └── 2
│ └── 3
│ ├── 4
│ │ └── 5
│ └── 8
│ └── 8
├── 2
├── acwing
├── c
│ ├── stdio.txt
│ ├── stdlib.txt
│ └── string.txt
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
└── leetcode
13 directories, 5 files
touch指令的语法与功能
- 语法: touch 普通文件名(就是路径)
- 功能:在当前目录下新建一个文件
实例演示
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── 1
│ └── 2
│ └── 3
│ ├── 4
│ │ └── 5
│ └── 8
│ └── 8
├── 2
├── acwing
├── c
│ ├── stdio.txt
│ ├── stdlib.txt
│ └── string.txt
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
├── leetcode
└── test.c
13 directories, 6 files
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ touch shensk.txt
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── 1
│ └── 2
│ └── 3
│ ├── 4
│ │ └── 5
│ └── 8
│ └── 8
├── 2
├── acwing
├── c
│ ├── stdio.txt
│ ├── stdlib.txt
│ └── string.txt
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
├── leetcode
├── shensk.txt
└── test.c
13 directories, 7 files
rmdir指令的语法,功能与选项
- 语法:rmdir 选项 目录名(就是路径)
- 功能:删除指定空目录
- 选项:
rm指令的语法,功能与选项
- 语法:rm 选项 文件名(就是路径)
- 功能:删除指定目录下的文件
- 选项:
rm 不能直接删除目录,但如果我非要去删除目录的话,需要用选项 -r ,因为目录本身它是递归式定义的,要删除我们就需要递归式删除,-r就代表递归。
rm指令选项 -f
- 功能:删除的时候别问我了,强制删除
rm指令选项 -i
- 功能:删除前问我确认一下
rm指令选项 -r
- 功能:删除目录及其下所有文件
实例演示
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── 2
├── acwing
├── c
│ ├── stdio.txt
│ ├── stdlib.txt
│ └── string.txt
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
├── leetcode
└── shensk.txt
6 directories, 6 files
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ rm 2
rm: cannot remove ‘2’: Is a directory
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ rm -r 2
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── acwing
├── c
│ ├── stdio.txt
│ ├── stdlib.txt
│ └── string.txt
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
├── leetcode
└── shensk.txt
5 directories, 6 files
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ rm -r c
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── acwing
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
├── leetcode
└── shensk.txt
4 directories, 3 files
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ rm -i -r acwing
rm: remove directory ‘acwing’? y
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── c++
│ ├── class.txt
│ └── namespace.txt
├── csdn
├── leetcode
└── shensk.txt
3 directories, 3 files
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ rm -f -r c++
[ShenskLinux2003@iZbp17eez3lv2illc5jrjeZ ~]$ tree
.
├── csdn
├── leetcode
└── shensk.txt
2 directories, 1 file