Linux常用命令
基础
命令格式:命令名 选项 操作对象
- 选项:设置命令,可执行更复杂的操作(短选项-a、长选项--all)
- 操作对象:命令操作的对象(空、文件、目录、用户和进程等)
特殊符号:
- 登录后左侧显示:[用户名@主机名 所在目录] 用户提示符
-
![image]()
- .或* = ./*:当前目录所有文件
- #:root用户提示符
- $:普通用户提示符
- ~:当前用户的家目录
- >:覆盖输出
- command > test.log 2>&1:错误输出(2)和 标准输出(1)都输出到test.log
- command &> test.log:错误输出(2)和 标准输出(1)都输出到test.log
- 0:标准输入(每个命令运行时都会打开三个文件,0-1-2)
- >>:追加输出
- 禁止输出:command >> /dev/null(写入内容都会被丢弃)
- tee test.txt:从标准输入(默认为键盘输入)读取并写入标准输出(默认为屏幕输出)和文件(test.txt)
快捷键
- shift+page up\page down:对终端进行翻页
1、文件目录操作
查看
pwd #显示当前所在目录
ls -lh #查看当前目录内容(-l 列表形式 -a 显示隐藏内容 -h 按k M G显示大小)
cat #查看小文件内容
more #查看大文件内容
du -ah #查看当前目录内容(-a 所有文件和目录 -h 按k M G显示大小)
sort -rh #对内容大小进行降序排序(-r 降序排序 -h 按大小排序)
head -n 20 xx.txt #查看文件开头的内容(-n 指定行数)
tail -fn 20 xx.txt #查看文件末尾内容(-f 动态查看 -n 指定行数)
grep -rn xx ./* #查找文件内容(-r 包括子目录 -n 显示行号 -v 排除包含指定内容的行 -i 忽略大小写)
find ./* -name "文件名" #按文件名查找文件
awk '{print $1,$2}' #打印第1和第2个字段(先按行,再按字段为单位对文本进行处理)
awk '{print "kill -9 " $2}' #根据pid杀掉进程
awk [options] 'Pattern{Action1;Action2}' file
awk [options] 'Pattern{Action1} Pattern{Action2}' file
(options:-F:指定分隔符)
(Pattern:空模式-每一行都满足条件,普通模式-判断将要被处理的行是否满足条件)
-----BEGIN模式-----:处理文本之前需要执行的操作
-----END模式------:处理完所有行之后所需要执行的操作
(Action:print-自动换行输出内容,printf-对输出内容进行格式化处理)
sed -n '1,3 p' file #打印1-3行(以行为单位对文本进行处理)
sed -ie '1,3 a test' file #1-3行后面新增内容(以行为单位对文本进行处理)
sed [options] 'script' file
(options:-i【直接修改文件内容,默认只输出到屏幕】,-e[用指定'script'来处理文件])
(script: 【(开始行,结束行)+操作+替换后的新内容】、p打印、a新增、i插入、d删除、c替换、s/要替换的内容/替换成的内容/g)
新增
touch filename #新建文件
mkdir -p hello/world #在当前目录下递归创建多级目录(-p 递归创建)
mv filename /home #移动文件到指定目录
mv filename newfilename(修改文件名称)
cp filename /home #复制文件到指定目录
scp -r 远程路径 本机路径 #从远程 拷贝到本机 (远程路径 用户名@主机名:路径 root@172.19.64.57:/root/fengwei/)
scp -r 本机路径 远程路径 #从本机 拷贝到远程 (-r 支持拷贝目录)
删除
1 rm -rf /home/fengwei #强制删除文件及目录(-r:可删除目录 -f:不提示删除)
链接
ln /root/fengwei/target_file link_name #对文件进行复制,不能对目录
ln –s /root/fengwei/target_file new_link_name #对文件创建1个快捷方式,可以对目录
(显示为 new_link_name -> /root/fengwei/target_file)
(源文件被删除,则快捷方式失效)

压缩
tar -zcvf 文件名.tar.gz --exclude 不包括文件 ./* #对当前目录下内容进行打包压缩
(z:使用gzip执行压缩、解压 c:创建压缩文件 v:显示过程 f:指定文件名)
tar -zxvf 文件名.tar.gz -C 解压目录 #解压到指定目录(x:提取内容、extract)
zip -r 文件名.zip ./* #对当前目录下内容进行压缩(-r 包括子目录)
unzip 文件名.zip -d 解压目录 #解压到指定目录
vim
vim 文件 #进入命令模式、可输入各种命令(dd--删除1行)
按i:进入编辑模式(可输入内容)
按ESC:进入命令模式
按冒号:进入末行默认,执行最后行输入的命令(wq--保存退出)
2、系统管理
关机重启
reboot #重启
shutdown -h now #立即关机
last reboot|head -n 1 #查看最近的开机时间
who -b #查看最近的开机时间
用户管理
useradd -m 家目录 -g 群组 username #添加用户
(groups:查看当前用户所属群组)
(/etc/group:记录所有群组)
(/etc/passwd:记录所有用户)
passwd uid passworld #设置密码
userdel -r username #删除用户及家目录
(id 用户名:查看用户的uid、gid等信息)


- 组信息:root:x:0
- 用户信息:0:root
进程管理
ps -ef #查看进程,显示启动时间、完整启动命令
ps -aux #查看进程,显示启动时间、资源占用
top #动态查看进程(按1显示CPU核心使用情况 按M根据内存使用量进行排序)
top -o %CPU # 查看CPU占用最高的进程
top -u username # 监控特定用户
kill -9 PID #强制杀掉进程

查看资源
free -h #以K、M或G显示内存和Swap大小
df -h #以K、M或G显示文件系统的使用情况
查看帮助
man 命令 #显示命令的使用文档
命令 --help #显示命令的使用文档
which 命令 #显示命令所在路径
查看系统信息
cat /proc/version #查看Linux内核版本
uname -a #查看Linux内核版本
cat /etc/issue #查看发行版版本
cat /etc/*release* #查看发行版版本
lsb_release -a #查看发行版版本
改变权限
- 问题1:用户不在sudoers中?
- vim /etc/sudoers
- 添加一行(用户名 ALL=(ALL) ALL)

su - root #将用户环境和权限都切换到root(工作目录为/root)
sudo -i #将用户环境和权限都切换到root(工作目录为/root)
sudo -s #将权限切换到root、保留部分用户环境(工作目录不变)
sudo 命令 #以root权限运行命令
chmod +x 文件 #给文件添加可执行权限(r、w、x)
chmod 777 文件 #给文件的所有用户赋所有权限(4-读、2-写、1-执行)(当前用户、同组用户、其它用户)
本文来自博客园,作者:Fēngwèi,转载请注明原文链接:https://www.cnblogs.com/fengwei-blogs/p/18821051


浙公网安备 33010602011771号