目录
文件管理
pwd-查看当前工作目录
pwd
cd-更改当前工作目录
cd /path/to/directory # 进入指定目录
cd .. # 返回上一级目录
cd ~ # 进入用户的主目录
touch-创建文件
语法:touch 文件名
创建一个文件
touch file1.txt
查看文件
ls
ls -l #查看列表详细信息
ls -a #查看全部文件,包括隐藏文件
ll #查看列表详细信息,等于ls -l
ll -h #查看列表详细信息,显示文件大小以K,M,G的方式显示,等于ls -l -h
mkdir-创建目录
语法:mkdir 空格 路径和目录名
当前路径下创建一个目录
mkdir dir1
选项:mkdir -p // 父系,当创建目录没有上一级时,自动创建
mkdir -p /dir1/dir2/dir3 #当前路径下没有dir1,dir2时会被自动创建
cp-复制文件
语法:cp 源文件路径 目标文件夹
选项:cp -r 源目录 目标目录
cp filename dir1/
ls dir1/
看到复制的文件即可
mv-移动文件
语法:mv 源文件路径 目标文件路径
mkdir filename #先创建一个文件
mv filename dir1/ #移动文件
ls dir1/ #查看移动的文件
mv filename1 filename2 #修改文件名
rm-删除文件
语法:rm -rf 文件或目录的路径
rm filename
rm -r /dir/filename #递归删除文件
rm -f /dir/filename #不再是否询问删除文件
tar-打包和压缩
语法:tar -选项 源文件 目的路径
选项:v是显示解压/打包过程详情
打包,压缩
tar -cf etc.tar /etc
tar -xf etc.tar /etc #解压
tar -czvf etc-gzip.tar.gz /etc/ #z是zip
tar -cjf etc-bzip.tar.bz /etc/ #j是bip
tar -cJf etc-xzip.tar.xz /etc/ #J是xzip
解压,解包
tar -tf etc.tar #查看,并没有解压
tar -xvf etc2.tar.bz2 #解压至当前路径
tar -xvf etc2.tar.bz2 -C /tmp #-C重定向到/tmp目录
查看文件内容
cat查看文件全部内容
cat filename
tac 与 cat 命令刚好相反,文件内容从最后一行开始显示。
tac filename
less分页查看文件内容
less filename
more翻页查看文件
more filename
head查看文件头部内容
head filename
head -n 10 filename #查看文件前10行
tail尾部
tail filename
tail -n 10 filename #查看文件后10行
grep过滤关键字
针对文件内容进行过滤
语法:grep 关键字 文件名
grep 'abc' filename
前提是文件中要有abc哦,否则结果没有内容。
vi-修改文件内容
vi,vim
可视模式,按V进入,小v光标自己选取,大V直接选取一行,YY+p复制粘贴即可。
ctrl+V,上下选择,然后可以ctrl+> 进行整体缩进。
文本编辑
yy 复制
dd 删除
p 粘贴
u undo撤销
查找替换
:范围 s/原内容/新内容/全局
:1,5 s/root/qianfeng/g 从1-5行的root 替换为qianfeng
:% s/原内容/新内容/全局
另存为
:w file9.txt 另存为 file9.txt
光标定位
hjkL //上下左右
0 $ //行首行尾
gg G //页首页尾
3G 进入第三行
/string (n N 可以循环的) //查找字符,按n键选下一个(重要)
:set nu 设置行号
:set nonu 取消设置行号
:set list 显示控制字符
文件类型
常见类型
- 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
d 目录文件(蓝色)
非常见类型
b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1
c 设备文件(字符设备)打印机,终端 /dev/tty1
l 链接文件(淡蓝色)
s 套接字文件
p 管道文件
查看不同的文件类型。你能找出几种呢?
ll /etc
注意
通过颜色判断文件的类型是不一定正确的!!!
Linux系统中文件是没有扩展名!!!
find-查找文件
语法:find 查找文件路径 选项 'filename'
find /path -name'filename' #按文件名称
find /path +5M' #按文件大小,+(大于) -(小于) =(等于)
find /Maxdepth 4 -a -name'filename' #指定目录深度
find /path -user jack #按属主
find /path -group it #按属组
find /tmp -type f #按文件类型,f普通文件 b块设备文件 d目录 p管道 l链接
find . -perm 644 -ls #按文件权限
find /etc -name "775*" -delete #找到后删除
find /etc -name "hosts*" -ok cp -rvf {} /tmp \ #找到后复制
用户管理
useradd-创建用户
useradd username
创建用户user02,指定uid
useradd username -u 1001
创建用户user03 指定家目录
useradd username -d /username
passwd-设置或更改用户密码
passwd username
userdel-删除用户
userdel username
userdel -f username #强制删除用户
修改登录SHELL
usermod -s /sbin/nologin username
用户组管理
groupadd-创建组
groupadd groupname
tail -3 /etc/group #查看,或者
grep 'groupname' /etc/group
groupdel-删除组
groupdel groupname
tail -3 /etc/group #查看,或者
grep 'groupname' /etc/group
usermod-添加用户到组
查看用户原信息
id username
uid=1002(username) gid=1002(username) 组=1002(username)
语法:usermod aG 组名 用户名
usermod username -aG groupname
再次查看用户信息
id username
uid=1002(username) gid=1002(username) 组=1002(username),1005(hr)
gpasswd-从组中删除用户
gpasswd -d username groupname
文件权限管理
Linux用户权限解析
权限对象:
属主: u
属组: g
其他人: o
所有人:a(u+g+o)
查看权限:
ls -l filename
-rw-r--r--. 1 root root 179 5月 25 14:27 filename
-rw-:属主的权限,读写
r--:属组的权限,读
r--:其他人的权限,读
1:第2字段的值为1,说明文件只有这一个文件名。即只有一个指向该链接的硬链接。
root:文件的属主
root:文件的属组
179:文件大小
5月 25 14:27:时间
filename:文件名称
权限类型:
读:r=4
写:w=2
执行: x=1
chmod-设置权限:
使用符号:u用户 g组 o其他 r读 w写 x执行
语法: chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x) 文件/目录
选项:-R 针对目录中所有的文件。
chmod 644 filename #设置一个文件属主读写,属组读,其他人读权限
ll filename
-rw-r--r--. 1 root root 0 7月 25 13:42 filename
chmod +x filename #赋予文件所有者执行权限
ll
-rwxr-xr-x. 1 root root 0 7月 25 13:42 filename
chmod -r filename #收回文件所有者读权限
ll
--wx--x--x. 1 root root 0 7月 25 13:42 filename
chmod xiaoming filename #只改属主
chmod .hr filename #只改属组
chgrp-修改属组:
chgrp: 设置一个文件属于哪个组
语法:chgrp 组名 文件
选项:-R是递归修改文件
chgrp groupname filename
进程管理
ps-静态查看进程
ps -ef
ps -aux
top-动态查看进程
top
kill-杀死进程
kill -9 processId #非法杀死进程
kill -15 processId #正常终止进程
nice-进程优先级
ps -aox | grep processId #查看进程优先级
renice -20 processId #指定进程id的优先级为-20
ps -aox | grep processId #再次查看进程优先级
jobs-作业控制
sleep 3000 & #后台运行一个程序
jobs #查看后台运行程序
fg 1 #将作业1调回到前台
kill %1 #杀死作业序号为1的后台程序
看完记得点赞+收藏哦,以免不慎丢失!