/是指根目录:就是所有目录最顶层的目录
~是当前用户的主目录:如果是root用户就是/root/目录, 如果是其他用户就是/home/下用户名命名的用户,该主目录是我们在新建某个Linux账户的时候指定的一个目录。
比如,root用户的主目录是/root,那么~对应/root,
如果我们新建一个用户wsys对应主目录/home/wsys,那么wsys登陆后的目录就是/wsys.
ls [-a -l -h]
-a 列出所有的目录,包括隐藏目录
-l 竖向排列 并显示更多信息
-h 以易于阅读的形式列出目录,需要搭配-l使用
例:
ls -al /usr 表示列出/usr目录下的文件信息
ls -lh /usr 展示信息更全
cd [Linux路径] 切换当前工作目录
注:不使用参数,会切换到当前用户的HOME目录
pwd 输出当前所在的工作目录
例:
cd /usr 切换到usr目录下
特殊路径符:
mkdir [-p] Linux路径
-p 可选选项,表示自动创建不存在的父目录
例:
mkdir -p /usr/test/index.test 自动创建多层级的文件,文件夹不存在也会被创建
注:创建文件夹要在HOME命令里,不然会涉及到权限问题
touch Linux路径 在指定位置创建文件
cat Linux路径 查看自定位置文件内容
more Linux路径 可以翻页查看文件内容 按空格翻页,按q退出
例:
touch test.txt 在当前名录下创建test.txt文件
cat test.txt 查看test.txt文件内容
cp [-r] 参数1 参数2
-r 可选,用于操作文件夹使用
参数1:被复制的文件或文件夹
参数2:要复制到的位置
例:
cp test.txt ./test2.txt 复制文件eest.txt到指定位置
cp -r usr user 复制文件夹
mv 参数1 参数2
参数1:被移动的文件或文件夹
参数2:要移动到的位置
例:
mv test.txt test2.txt 相当于修改文件名称 【Imp】
mv usr local/ 将usr文件夹移动到当前目录local文件夹下 【Imp】
rm [-r -f] 参数1 参数2...参数N
-r 用于操作文件夹
-f 强制删除(不会弹出提示确认框)
参数:表示要删除的文件或文件夹名称,按空格隔开
例:
rm -r test 删除文件/文件夹
注:删除操作属于危险操作,谨慎使用!
which 要查找的命令 查找命令所在的文件夹
例:
which cd / which mkdir 查找各个命令所在位置
find 起始路径 -name "被查找的文件名" 按名称查找指定位置下的文件
find 起始路径 -size + | -n [k M G] 按文件大小查找
+、-:表示大于小于
n:表示大小数字
kMG:表示单位,kb、MB、GB
例:
find / -name "*test" 查询以test结尾的文件
find / -size -10M 查询小于10MB的文件
grep [-n] 关键字 文件路径 通过关键字过滤文件行
-n 可选,表示在结果中显示行号
例:
grep -n "helloWorld" test.txt 在test.txt文件中筛选helloWorld文字所在的行,并显示行号
wc [-c -m -l -w] 文件路径 统计文件信息
-c bytes数量
-m 字符数量
-l 行数
-w 单词数量
符号为:|
含义:将管道符左侧的结果作为右边的输入
例:
cat test.txt | grep "helloWorld"
cat test.txt | grep "helloWorld" | grep 'info'
ls -l /usr | wc -l 统计目标文件夹下的文件个数
echo 要输出的内容
类似于Java的print语句
被``包围的内容将作为命令执行
例:
echo `pwd` 执行pwd命令
> 将>左侧的结果 覆盖 到右侧文件中
>> 将>>左侧的结果 追加 到右侧文件中
例:
echo "helloWorld" > test.txt 覆盖test.txt文件内容
echo "helloWorld" >> test.txt 追加test.txt文件内容
tail [-f -num] Linux路径
-f 表示持续跟踪
-num 表示查看尾部多少行内容
Linux路径 表示追踪的文件路径
例:
tail -10 test.txt 查看末尾10行内容
文本编辑器
su [-] [用户名] 用于用户切换
- 可选,表示切换用户后加载环境变量,建议加上
切换用户后可通过 exit 命令退回到上一个用户(ctrl + D也可以)
sudo 其他命令 临时以root身份执行命令
并不是所有用户都有权使用,需要配置 sudo认证,配置方法:
1.切换到root用户,执行 visudo命令,会自动通过vi编辑器打开:/etc/sudoers
2.在文件末尾添加信息:
[用户名] ALL=(ALL) NOPADDWD:ALL
3.:wq保存,切换回普通用户
用户组操作:
groupadd 用户组名 创建用户组
groupdel 用户组名 删除用户组
添加用户:
useradd 用户名 [-g -d]
-g 指定用户的组,不使用-g会默认创建同名的组并加入,若已存在同名的组,则必须指定-g
-d 指定用户HOME路径,不指定-d,HOME目录默认为:/HOME/用户名
例:
useradd test -g cleverguy -d /home/testuser 创建名为cleverguy的组,并添加HOME目录为/home/testuser的用户
删除用户:
userdel 用户名 [-r]
-r 删除用户的同时删除HOME目录
例:
userdel -r test 删除test用户并删除HOME目录
查看用户所属组:
id [用户名] 不填用户名默认查看自己
例:
id test 查看test用户所属组信息
修改用户所属组:
usermod [-aG] 用户组 用户名 将指定用户加入到指定组中
例:
usermod -aG cleverguy test1 将test1用户加入到clecerguy组中
getent命令:
getent passwd 查看系统用户信息
输出的信息:
用户名:密码(x):用户ID:组ID:描述信息(没用):HOME目录:执行终端(默认bash)
getent group 查看系统全部组的信息
linux系统中admin用户使用docker时需要输入sudo命令,可以通过将用户加入到docker组中即可解决。实现步骤:
1.添加docker组,一般都是存在的
groupadd docker
2.将用户加入到docker用户组中
sudo gpasswd -a $USER docker
3.更新用户组
newgrp docker
使用上方usermod方法失败,原因未知。
注:只有文件、文件夹所属用户或root用户才能修改其权限
chmod [-R] 权限 文件或文件夹 修改文件或文件夹权限
-R 对文件夹内的所有内容应用同样的操作
例:
chmod u=rwx,g=rx,o=x hello.txt
u 表示user所属用户的权限
g 表示所属用户组的权限
o 表示其他用户的权限
chmod -R u=rwx,g=rx,o=x test 将test文件夹及里面所有内容的权限设置为rwxr-x--x
注:此命令只能由 root 用户使用
chown [-R] [用户] [:] [用户组] 文件或文件夹 修改文件所属用户或用户组权限
-R 对文件夹内内容应用相同规则
: 用户分隔用户和用户组
例:
chown root hello.txt 将文件所属 用户 修改为root
chown :root hello.txt 将文件所属 用户组 修改为root
chown root:cleverguy hello.txt 将文件所属用户和用户组修改为root和cleverguy
chown -R root test 将test文件夹内的所有内容所属用户修改为root
Ctrl + a 移动到命令开头
ctrl + e 移动到命令结尾
ctrl + 左键 向左跳一个单词
ctrl + 右键 向右跳一个单词
ctrl + l 或 clear 清屏
yum [-y] [install | remove | search] 软件名称 安装软件
-y 自动确认,无需手动确认安装
systemctl start | stop | status | enable | disable 服务名
enable 开启开机自启
disable 关闭开启自启
系统内置服务名:
Networkmanager 主网络服务
network 副网络服务
firewalld 防火墙服务
sshd ssh服务
ps [-e -f] 查看Linux系统的进程信息
-e 显示全部进程
-f 展示全部信息
输出信息:
UID PID PPID C STIME TTY TIME CMD
UID:进程所属用户ID
PID:进程号(唯一)
PPID:进程的父ID(启动此进程的其他进程)
C:CPU占用率
STIME:进程的启动时间
TTY:启动此教程的终端序号,显示?表示非终端启动
TIME:进程占用CPU的时间
CMD:进程对应名称或启动路径或启动命令
jstack jvm 自带堆栈跟踪工具
查看堆栈运行情况:
1.jps -l 类似Linux的 ps -ef
2.jstack [pid]
kill [-9] 进程ID 关闭进程
-9 表示强制关闭
ln [-s] 参数1 参数2 将文件或文件夹链接到其他位置(类似于创建快捷方式)
-s 创建软链接
参数1 被链接的文件或文件夹
参数2 要链接到的位置
例:
tar [-c -v -x -f -z -C] 参数1 参数2...参数N 压缩/解压文件
-c 创建压缩文件
-v 显示压缩过程
-x 解压模式
-f 要创建或解压的文件
-z gzip模式,不使用默认为tarball格式
-C 选择解压的位置,用于解压模式
例:
压缩:
tar -cvf test.tar 1.txt 2.txt 3.txt 将三个文件压缩到test.tar文件内
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt 使用gzip模式,将三个文件压缩到test.tar.gz文件内
解压:
tar -xvf test.tar 解压test.tar到当前目录
tar -zxvf test.tar.gz -C /home/cleverguy 使用gzip模式将test.tar.gz解压到/home/cleverguy路径下
注:
zip [-r] 参数... 压缩
-r 压缩内容包含文件夹时,强制压缩
例:
zip -r 1.txt 2.txt test 将文件和文件夹压缩
unzip [-d] 参数... 解压缩
-d 指定解压的位置,同tar的-C选项
例:
unzip test.zip -d /home/cleverguy 将test.zip解压到/home/cleverguy路径下
解压test.tar到当前目录
tar -zxvf test.tar.gz -C /home/cleverguy 使用gzip模式将test.tar.gz解压到/home/cleverguy路径下
注:
- -f一般放在所有选项的最后一个
- -z使用时必须放在第一个
- -c和-x不能一起使用(一个压缩一个解压)
### zip / unzip 命令
~~~shell
zip [-r] 参数... 压缩
-r 压缩内容包含文件夹时,强制压缩
例:
zip -r 1.txt 2.txt test 将文件和文件夹压缩
unzip [-d] 参数... 解压缩
-d 指定解压的位置,同tar的-C选项
例:
unzip test.zip -d /home/cleverguy 将test.zip解压到/home/cleverguy路径下