Linux的目录结构
Linux命令基础
什么是Liunx
学习Linux,本质上是学习在命令行下熟练使用Linux的各类命令。
命令行: 即Linux终端(Terminal),是一种命令提示符页面。以纯“字符”的形式操作系统,可以使用各种字符化命令对系统发出操作指令。
命令: 即Linux程序。一个命令就是一个Linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈。
Linux命令通用格式
command [-options][parameter]
command: 命令本身
-options:[可选,非必填] 命令的一些选项,可以通过选项控制命令的行为细节
parameter: [可选,非必填] 命令的参数,多数用于命令的指向目标等
语法中的[],表示可选的意思
选项和参数可以组合使用,比如ls可以写成 ls -alh /
1.目录显示(ls)
列出目录下的内容
ls [-a -l -h] [Linux路径]
-a:显示隐藏内容
-l: 以列表(竖向排列)展示内容,显示更多信息
-h:以易于阅读的形式(必须与l一起使用,会显示文件大小单位KB之类的)
当不使用选项和参数,直接使用ls命令本体,表示: 以平铺形式,列出当前工作目录下的内容
总结
2.目录切换(cd/pwd)
cd 切换工作目录 (Change Directory)
cd [Linux路径]
cd命令无需选项,只有参数,表示要切换到哪个目录下
cd命令直接执行,不写参数,表示回到用户的HOME目录
示例: 切换到根目录
cd /
pwd 查看当前工作目录 (Print work Directory)
pwd
无选项,无参数,直接输入pwd即可
相对路径、绝对路径和特殊路径符
3.创建目录命令(mkdir)
Make Directory
mkdir [-p] Linux路径
- 参数必填,表示Linux路径,即要创建的文件夹的路径,绝对或相对路径均可
- -p 可选,表示自动创建不存在的父目录,适用于创建连续多层级目录
4.文件操作命令1(touch、cat、more)
touch创建文件
touch Linux路径
无选项,参数必填,表示要创建的文件的路径,相对绝对特殊路径均可使用
cat直接查看文件内容
cat Linux 路径
没有选项,参数必填,表示被查看的文件路径,相对绝对特殊路径均可
more翻页查看文件内容
more Linux 路径
没有选项,参数必填,表示被查看的文件路径,相对绝对特殊路径均可
通过空格翻页
通过q退出
5.文件操作命令2(cp、mv、rm)
cp复制文件/文件夹
cp [-r] 参数1 参数2
-r选项,可选,用于复制文件夹使用,表示递归
参数1,Linux路径,表示被复制的文件或文件夹
参数2,Linux路径,表示要复制去的地方
mv移动文/文件夹件
mv 参数1 参数2
参数1,Linux路径,表示被移动的文件或文件夹
参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
rm删除文件/文件夹
rm[[-r-f]参数1 参数2 ...... 参数N
同cp命令一样,-r选项用于删除文件夹
-f表示force,强制删除(不会弹出提示确认信息)
普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
所以一般普通用户用不到-f选项
参数1、参数2、…、参数N 表示要删除的文件或文件夹路径,按照空格隔开
6.查找命令(which、find)
which查看命令程序文件存放在哪里
which 要查找的命令
find查找文件
按文件名查找
find 起始路劲 -name "被查找的文件名"
按文件大小查找
find 起始路径 -size +|-n[kMG]
- +、-表示大于和小于
- n表示大小数字
- kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
示例:
查找小于10KB的文件:find/-size-10k
查找大于100MB的文件:find/-size+100M
查找大于1GB的文件:find/-size +1G
7.grep、wc和管道符
grep过滤文件行
grep [-n] 关键字 文件路径
选项-n,可选,表示在结果中显示匹配的行的行号。
参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来
参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
wc内容统计文件行数,数量等
wc [-c -m -1 -w] 文件路径
选项-c,统计bytes数量选项
-m,统计字符数量选项
-l,统计行数选项
-W,统计单词数量参数
参数,文件路径,被统计的文件,可作为内容输入
:|管道符
示例
8.echo、tail和重定向符
echo在命令行内输出指定内容
echo 翰出的内容
无需选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围
重定向符号
>和>>
>,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
>>,将左侧命令的结果,追加写入到符号右侧指定的文件中
示例
tail查看文件尾部内容
tail [-f -num] Linux路径
参数,Linux路径,表示被跟踪的文件路径
-f,表示持续跟踪选项
选项,-num,表示,查着尾部多少行,不填默认10行
9.vi编辑器
vi 文件路径
vim 文件路径
如果文件路径表示的文件不存在,那么此命令会用手编辑新文件
如果文件路径表示的文件存在,那么此命令用于编辑已有文件
命令模式快捷键
用户和权限
Root用户
su切换root账号
su [-] [用户名]
- 符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上
参数:用户名,表示要切换的用,用户名也可以省略,省略表示
切换到root切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d
使用普通用户,切换到其它用户需要输入密码,如切换到root用户
使用root用户切换到其它用户,无需密码,可以直接切换
sudo为普通命令授权以root身份执行
sudo 其它命令
在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权
但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证
用户和用户组
用户组管理
以下用户组管理命令都需要root用户执行
groupadd创建用户组
groupadd 用户组名
grounddel删除用户组
groupdel 用户组名
用户管理
以下用户组管理命令都需要root用户执行
useradd创建用户
创建用户
useradd [-g -d] 用户名
选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
选项:-d指定用户H0ME路径,不指定,HOME目录默认在:/home/用户名
userdel删除用户
userdel [-r] 用户名
选项:-r,删除用户的H0ME目录,不使用-r,删除用户时,HOME目录保留
id查看用户所属组
id [用户名]
参数:用户名,被查看的用户,如果不提供则查看自身
usermod -aG修改用户所属组
usermod-aG 用户组用户名,将指定用户加删除查看和修改
查看当前系统中的用户和用户组(getent)
查看用户
getent passwd
查看组
getent grop
认知权限信息
那么,rwx到底代表什么呢?
r表示读权限
w表示写权限
x表示执行权限
针对文件、文件夹的不同,rwx的含义有细微差别·r,针对文件可以查看文件内容
针对文件夹,可以查看文件夹内容,如1s命令
·w针对文件表示可以修改此文件
·针对文件夹,可以在文件夹内:创建、删除、改名等操作
·x针对文件表示可以将文件作为程序执行
针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
修改权限信息(chmod)
chmod[-R] 权限 文件或文件夹
选项:-R,对文件夹内的全部内容应用同样的操作
示例:
chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x--x
·其中:u表示user所属用户权限,g表示group组权限,0表示other其它用户权限
chmod -R u=rwx,g=rx,0=xtest,将文件夹test以及文件夹内全部内容权限设置为: rwxr-x--x
注意:只有文件、文件夹的所属用户或root用户可以修改
修改文件/问价夹所属用户和用户组(chown)
chown [-R] [用户] [:] [用户组] 文件或文件夹
选项,-R,同chmod,对文件夹内全部内容应用相同规则
选项,用户,修改所属用户
选项,用户组,修改所属用户组
:用于分隔用户和用户组
示例:
chown root hello.txt,将hello.txt所属用户修改为root
chown :root hello.txt,将hello.txt所属用户组修改为root
chown root:itheima hello.txt,将hello.txt所属用户修改为root,用户组修改为itheima
chown -R root test,将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
注意:普通用户无法修改所属为其他用户或组,所以此命令只适用root用户
Linux实用操作
各类小技巧快捷键
ctrl+c 强制停止
ctrl + d 退出、登出
history 历史命令搜索
!命令前缀 自动执行上一次匹配前缀的,命令
ctrl+r 输入内容去匹配历史命令
ctrl+l 清屏
clear 清屏
光标移动
ctrl+a 跳到命令开头
ctrl+e 跳到命令结尾ctrl+键盘左键 向左跳一个单词
ctrl+键盘右键 向右跳一个单词
软件安装(yum)
控制软件启动关闭(systemctl)
软连接,将文件/夹链接到其他位置(ln)
ln -s 参数1 参数2
-s选项,创建软连接
参数1:被链接的文件或文件夹
参数2:要链接去的目的地
示例:
ln -s /etc/yum.conf ~/yum.conf
ln -s /etc/yum ~/yum
日期时区(data)
data [-d] [+格式化字符串]
-d按照给定的字符串显示日期,一般用于日期计算
格式化字符串:通过特定的字符串标记,来控制显示的日期格式
%Y 年
%y 年份后两位数字(00_99)
%M 月份(01_12)
&d 日(01_31)
%H 小时(00_23)
%M 分钟(00_59)
%S 秒(00_60)
%s 自1970-01-01 00:00:00 UTC 到现在的秒数
IP地址、主机名
网络请求和下载(ping/wget/curl)
ping检查网络连接是否成功
ping [-c num] ip或主机名
选项:-C,检查的次数,不使用-c选项,将无限次数持续检查
参数:ip或主机名,被检查的服务器的ip地址或主机名地址
wget下载文件
wget [-b] url
选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
参数:url,下载链接
curl发起网络请求
可用于下载文件,获取信息等
curl [-0] url
选项:-0,用于下载文件,当url是下载链接时,可以使用此选项保存文件
参数:url,要发起请求的网络地址
网络传输
进程管理(ps/kill)
ps查看进程
ps [-e] [-f]
-e,显示出全部的进程选项
-f,以完全格式化的形式展示信息(展示全部信息)
一般来说,固定用法就是:ps-ef列出全部进程的全部信息
kill关闭进程
kill [-9] 进程ID
选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
主机状态(top/df/sar)
top查看资源占用
top [选项]
df磁盘使用情况
df [-h]
-h,以更人性化的单位显示
iostat磁盘监控信息
iostat [-x] [num] [num]
选型-x,显示更多信息
num1:数字,刷新间隔,num2:数字,刷新几次
sar网络状态监控
sar -n DEV num1 num2
选项:-n,查看网络,DEV表示查看网络接口
num1:刷新间隔(不填就查看一次结束) num2:查看次数(不填无限次查看)
上传下载(rz/sz)
安装文件rz/sz文件
yum -y install lrzsz
上传文件
rz
下载文件
sz 文件名
自动下载到桌面的fsdownload文件夹中
压缩解压(tar/gz)
tar压缩和解压缩
tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N
-c 创建压缩文件,用于压缩模式-
-v 显示压缩、解压过程,用于查看进度
-x 解压模式
-f 要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
-z gzip模式,不使用-z就是普通的tarball格式
-C 选择解压的目的地,用于解压模式
zip压缩文件
zip [-r] 参数1 参数2...参数N
-r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致
示例:
zip test.zip a.txt b.txt c.txt
将a.txt b.txt c.txt压缩到test.zip文件内
zip -rtest.zip test itheima a.txt
将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内
unzip解压文件
unzip [-d] 参数
-d,指定要解压去的位置,同tar的-C选项
参数,被解压的zip压缩包文件
示例:
unzip test.zip,将test.zip解压到当前目录
unzip test.zip -d /home/itheima,将test.zip解压到指定文件夹内(/home/itheima)