目录
1. Linux目录结构
Linux的目录结构是树形结构
Linux没有盘符,只有根目录/,所有文件都在/下
例如:
Linux:/user/local/hello.txt
Win:D:\user\local\hello.txt
2. Linux命令
2.1 Linux命令基础
Linux命令通用格式:
command [-options][parameter]
-
command:命令本身
-
-options:可选项,控制命令的行为细节
-
parameter:可选项,命令的参数
例如:
ls -l /user/data
ls是命令,-l是选项,/user/data是参数
cp -r test1 test2
cp是命令本身,-r是选项,test1test2是参数
2.2 Linux命令入门
ls命令语法细节:
ls [-a -l -h][path]
当不使用选项和参数,以平铺形式列出当前工作目录下的内容
默认设置在home目录
2.3 Linux命令的参数与选项
ls命令语法细节:
ls [-a -l -h][path]
-
-a:all,列出全部文件(包括隐藏文件)
-
-l:以列表(竖向排列)的形式展示内容,并展示更多信息
-
-h:以易于阅读的形式列出文件的大小,必须与-l组合使用
ls命令选项的组合使用
ls -l -a
ls -la
ls -al
3. 目录切换相关命令
3.1 cd切换工作目录
cd命令语法细节:
cd [path]
-
cd无需选项,只有参数
-
cd没有参数时回到home目录
3.2 pwd展示当前工作目录
pwd命令语法细节:
pwd
-
无选项、无参数
4. 相对路径、绝对路径和特殊路径符
绝对路径:以根目录为起点,以/开头
相对路径:以当前目录为起点
特殊路径符:
. :表示当前目录,例如下面效果一致
cd ./Desktop
cd Desktop
.. :表示上一级目录,例如
cd ..
表示切换到上一级目录;
cd ../..
表示切换到上两级目录
~ :表示home目录,例如
cd ~
切换到home目录;
cd ~/Desktop
切换到home内的Desktop目录
5. mkdir命令
mkdir命令语法细节:
mkdir [-p][path]
-
参数必填,即要创建的文件夹的路径,相对路径和绝对路径均可
-
选项可选,表示自动创建不存在的父目录,用于创建多层目录
6. 文件操作命令
6.1 touch创建文件
touch命令语法细节:
touch [path]
-
参数必填,相对路径和绝对路径均可
-
无选项
6.2 cat、more查看文件内容
cat命令语法细节:
cat [path]
-
参数必填,相对路径和绝对路径均可
-
无选项
more命令语法细节:
more [path]
-
参数必填,相对路径和绝对路径均可
-
无选项
-
空格翻页
-
q退出查看
区别:
-
cat直接将内容全部显示
-
more支持翻页,如果内容过多可一页页展示
7. -cp-mv-rm命令
7.1 cp复制文件、文件夹
cp命令语法细节:
cp [-r][path1][path2]
-
-r选项,可选,用于复制文件夹使用,表示递归
-
path1,被复制的地址
-
path2,要复制到的地址
7.2 mv移动文件、文件夹
mv命令语法细节:
mv [path1][path2]
-
path1,被移动的地址
-
path2,要移动到的地址
7.3 rm删除文件、文件夹
rm命令语法细节:
rm [-r -f][path1...N]
-
-r用于删除文件夹
-
-f表示强制删除
-
path1...N表示要删除的文件或文件夹的路径,以空格隔开
rm命令支持通配符*,用于模糊匹配
-
*表示通配符,即匹配任意内容(包含空)
-
test*表示任意以test开头的内容
-
*test表示任意以test结尾的内容
8. -which-find命令
which命令语法细节:
which [cmd_name]
用于查找命令的程序文件放在那里
find命令语法细节:
-
按文件名查找
find [ori_path][-name "file_name"]
用于查找指定文件,例如:
find / -name "test"
表示从根目录开始搜素名为test的文件
find命令支持通配符*,用于模糊匹配
-
*表示通配符,即匹配任意内容(包含空)
-
test*表示任意以test开头的内容
-
*test表示任意以test结尾的内容
-
按文件大小查找
find [ori_path][-size + |-n[KMG]]
-
+、-表示大于、小于
-
n表示大小数字
-
KMG表示大小单位
例如:
find / -size -10k find / -size +100M
9. -grep-wc-管道符
9.1 grep命令过滤文件内容
grep命令语法细节:
grep [-n][key][path]
-
-n可选,表示结构中显示匹配的行的行号
-
key,必填,表示过滤的关键字
-
path,必填,表示要过滤的内容的文件路径,可作为内容输入端口
9.2 wc命令统计内容数量
wc命令语法细节:
wc [-c -m -l -w][path]
-
-c,统计bytes数量
-
-m,统计字符数量
-
-l,统计行数
-
-w,统计单词数量
-
path,被统计的文件的路径,可作为内容输入端口
9.3 |管道符概念与应用
含义:
将管道符左边命令的结果,作为右边命令的输入
例如:
cat test.txt | grep key_words
10. -echo-tail-重定向符
10.1 -echo命令输出内容
echo命令语法细节:
echo [output]
用于在命令行打印指定内容,例如:
echo "Hello World"
10.2 反引号`的使用
被``包围的内容会作为命令执行,例如:
echo `pwd`
将打印pwd的返回结果
10.3 tail命令跟踪文件更改
tail命令语法细节:
tail [-f -num][path]
-
-f,表示持续跟踪
-
-num,表示查看尾部多少行,默认10行
-
path表示被跟踪的文件路径
10.4 重定向符号的使用
">",将左侧命令的结果,覆盖写入右侧指定文件中
">>",将左侧命令的结果,追加写入右侧指定文件中
例如:
echo "hello" > test.txt
ls > test.txt
echo "hello" >> test.txt
11. root用户
11.1 定义
Linux系统中,拥有最大权限的账户是root(超级管理员)
root用户拥有最大的系统操作权限,而普通用户在许多操作受限
普通用户的权限一般在home目录内不受限,home目录外普通用户一般仅有只读和执行权限,无修改权限
例如:root可以在根目录下创建文件夹,而普通用户不行
11.2 用户切换命令
su命令语法细节:
su [-][user_name]
-
-符号可选,表示是否切换用户后加载环境变量,建议选上
-
用户名表示要切换的用户,省略后默认切换到root
-
切换用户后,通过exit退回至上一个用户,也可使用快捷键ctrl+d
11.3 sudo命令
sudo命令语法细节:
sudo [other_cmd]
-
sudo为普通的命令授权,临时以root身份执行
-
在其他命令前+sudo,即可为命令临时赋予root权限
-
不是所有用户都有权使用sodo,需要为普通用户配置sudo认证
为普通用户配置sudo认证:
-
切换到root用户,执行visudo命令
-
先按G,跳转到最后一行,再按o,在文件最后添加
-
username ALL=(ALL) NOPASSWD:ALL
-
最后通过wq保存退出
12. 用户和用户组
12.1 定义
Linux系统可以:
-
配置多个用户
-
配置多个用户组
-
用户可以加入多个用户组中
Linux关于权限的管控级别有2个,分别是:
-
针对用户的权限控制
-
针对用户组的权限控制
12.2 相关命令
用户组管理
以下命令需要root用户执行
-
创建用户组
groupadd [name]
-
删除除用户组
groupdel [name]
用户管理
以下命令需要root用户执行
1. 创建用户
useradd [-g -d][name]
-
-g指定用户的组,不指定会创建同名组并自动加入,指定-g需组已存在,如已存在同名组,必须使用-g
-
-d指定用户home路径,不制动,home目录默认在/home/username
2. 删除用户
userdl [-r][name]
-
-r用于删除用户的home目录,不使用-r删除用户时,home目录保留
3. 查看用户所属组
id [name]
-
用户名,被查看的用户
4. 修改用户所属组
usermod -aG
-
aG表示用户组,用户名
-
将指定用户加入指定用户组
5. 查看当前系统有哪些用户
gatent passwd
-
共返回7份信息,分别是:
-
用户名:密码:用户ID:组ID:描述信息:home目录:执行终端
6. 查看当前系统有哪些用户组
getent group
-
共返回3份信息,分别是:
-
组名:组认证:组ID
12. 权限控制信息
12.1 Linux文件的权限管控信息
权限细节共分为10个槽位
例如:drwxr-xr-x,表示:
-
这是一个文件夹
-
用户的权限是rwx
-
用户组权限是r-x
-
其他用户权限是r-x
12.2 读、写、执行三种权限的含义
-
r表示读权限
-
w表示写权限
-
x表示执行权限
针对文件、文件夹的不同,rwx的含义有细微差别
-
r针对文件可以查看文件内容;针对文件夹可以查看文件夹内容如ls命令
-
w针对文件表示可以修改此文件;针对文件夹可以在文件夹内创建、删除、改名等操作
-
x针对文件表示可以将文件作为程序执行;针对文件夹可以表示更改工作目录到此文件夹,即cd进入
13. -chmod命令
13.1 chmod修改权限信息
chmod命令语法细节:
只有文件、文件夹的所属用户或root用户可以修改
chmod [-R]
-
-R表示对文件夹内的全部内容应用同样的操作
例如:
chmod u=rwx,g=rx,o=x hello.txt
chmod -R u=rwx,g=rx,o=x test
u表示用户权限,g表示组权限,o表示其他用户权限
13.2 使用数字序号标记权限
权限可以用3位数字表示,第一位是用户权限、第二位是用户组权限、第三位是其他用户权限
-
0:无任何权限
-
1:仅有x权限,即--x
-
2:仅有w权限,即-w-
-
3:有w和x权限,即-wx
-
4:仅有r权限,即r--
-
5:有r和x权限,即r-x
-
6:有r和w权限,即rw-
-
7:有全部权限,即rwx
可以看作2进制
14. -chown命令
chown可以修改文件、文件夹的所属用户和用户组
普通用户无法修改所属为其他用户或组,此命令仅适用于root用户执行
chown [-R][user]:[grou][name]
-
-R表示对文件夹内全部内容应用相同规则
-
-user修改所属用户
-
-group修改所属用户组
例如:
chown root hello.text
将hello.txt所属用户修改为root
chown :root hello.txt
将hello.txt所属用户组修改为root
ctrl+c
将hello.txt所属用户修改为root,用户组修改为group_name
chown -R root test
将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
15. 快捷键
15.1 强制停止
ctrl+c
-
强制停止程序
-
退出当前错误的命令输入
15.2 退出或登出
ctrl+d
-
退出账户的登录
-
退出特定程序的专属页面
-
不能用于退出vim
15.3 历史命令搜索
history
-
查看历史输入过的命令
!命令前缀
-
通过!命令前缀,自动执行上一次匹配前缀的命令
ctrl+r
-
输入内容去匹配历史命令
如果搜索到的内容是需要的,那么:
-
回车直接执行
-
键盘左右键,可以得到此命令
15.4 光标移动快捷键
ctrl+a
跳到命令楷体
ctrl+e
跳到命令结尾
ctrl+键盘左键/右键
向左/右跳一个单词
15.5 清屏
ctrl+l
清空终端内容
clear
命令clear可以得到同样的效果