常用linux命令 [^1]
执行命令与查看帮助
命令名称 [命令参数] [命令对象]
man --help # 查看帮助,等同于 man -h
echo Linux # 输出Linux字符
echo $HOSTNAME # 输出主机名
man date # date --help
date # date [选项] [+指定的格式]
date "+%Z--%A--%p--%j" # CST--Friday--AM--263
date -s "20190920 9:30:00" # 设置时间
wget -p -r -O path -c -t times -b 下载地址 # p所有资源,r递归,O指定目录,c断点续传,t次数,b后台下载
elinks [参数] 网址 # 纯文本界面浏览器
elinks www.linux.org
系统状态检测命令
ifconfig [网络设备] [参数]
uname -a
cat /etc/redhat-release # 查看详细版本信息
uptime # 查看系统负载情况 (小于1为正常)
watch -n 1 uptime # 每秒刷新
free -m/-g # 查看内存使用情况
who [参数] # 查看当前登陆用户
last [参数] # 查看所有的登陆记录
history # 历史命令,默认1000条,保存在/home/.bash_history
vim /etc/profile/HISTSIZE # 修改保存条数
cat ~/.bash_history
history -c # 清空记录
sosreport # 收集系统配置信息并诊断
工作目录切换命令
pwd [选项]
pwd -P # 显示非快捷链接地址
cd ~ # 家目录
cd .. # 上级目录
cd - # 上次目录
cd ~username # 其他用户家目录
ls -lah # 详细信息、隐藏文件、kmg
文本文件编辑
cat [-n行号,-b行号不带空行,-A显示空格、tab] [文件] # 适用于查看纯文本文件
more -5 filename # 显示5行
more -d filename # 显示提示和报错
head -n 5 filename # 只显示5行
head -n-5 filename # 正常输出,不显示最后5行
tail -n 20 filename # 显示最后20行
od -t a # 查看特殊格式文件,a为默认字符,c为ASCII,odxf
tr [a-z][A-Z] < tr.txt >TR.txt # 小写转大写
wc -lwc /etc/passwd
cut -d: -f6 /etc/passwd
grep ^root /etc/passwd | cut -d: -f7
diff -b -B 文件a 文件b # 忽略空格、空行引起的差异
diff --brief A.txt B.txt # 仅显示相同或不同
文件目录管理命令
三种时间:
mtime # 内容修改时间(不包括权限的)
ctime # 更改权限与属性的时间
atime # 读取文件的时间
touch test # 创建空白文档
touch -d "2 days ago" test # -a/-m/ -d==-a-m /-t具体时间
mkdir -m 755 # -p 多层目录; -v 显示创建过程
cd !$ # 上条目录 =!!
mkdir dir
touch file file1
cp file dir # /dir/file
cp file file1 # 文件内容为file的,文件名不变
cp file file3 # 新建file3并将file内容写入file3
mv aaa bbb # rename
rm -rf test # 直接删除 -i 删前询问
rmdir # 删除空目录,目录有文件会报错
dd if=/dev/cdrom of=*.iso # 光驱设备拷贝成镜像文件
dd if=/dev/sda of=sda_image count=1 bs=512K # 拷贝MBR. (conv=ucase/lcase大小写转换)
用户与用户组
useradd -d /home/linux -u 8888 -s /sbin/nologin username
id username
passwd
passwd othername
userdel -d username # 删除用户及其家目录
userdel -rf username #强同删除用户、家目录、相关文件
usermod -c say_something username # 备注
groupadd linux # 创建用户组
打包压缩文件命令
tar -czvf name.tar.gz /etc/passwd # 用gzip打包passwd
tar -xzvf name.tar.gz -C /root/name # 解压到/root/name
文件查询搜索命令
grep /sbin/nologin /etc/passwd # 在passwd中找出禁止登陆用户
find [查找路径] 查找条件 操作
find /etc -name "host*" -print
find / -user username -exec cp -arf {} /root/path/\ # 找出用户username的文件,cp到/root/path
管道符、重定向与环境变量
管道符
命令a|命令b|命令c
echo "Content" | mail -s "Subject" username # 给username发邮件
mail # 查看邮件
echo "passwd" | passwd --stdin root # 给root用户重置密码
输入输出重定向
mail -s "Readme" root@HOSTNAME << over
>hello
>world
>over
命令行通配符
通配符 | 含义 |
---|---|
* | 匹配0个或多个字符 |
? | 匹配任意单个字符 |
[0-9] | 匹配范围内的数字 |
[abc] | 匹配给出的任意字符 |
bash支持的特殊字符
字符 | 作用 |
---|---|
\反斜杠 | 转义后面单个字符 |
‘’单引号 | 转义所有字符 |
“”双引号 | 变量依然生效 |
··反引号 | 执行命令语句 |
PRICE=5
echo "Price is $PRICE" # 输出Price is 5
echo "Price is \$$PRICE" # 输出Price is $5,要将第一个$转义
echo 'Price is \$$PRICE' # 原样输出,变量失效
echo `uname -a` # 执行语句输出
PATH变量
alias cp="cp -i" # 设置别名,快捷操作
ualias cp # 取消别名
ls执行过程:
echo $PATH # 查看变量
PATH=$PATH:/root/bin # 增加新值
type ls # 查看是内部命令还是外部命令
env
重要环境变量
变量名称 | 作用 |
---|---|
HOME | 用户家目录 |
SHELL | 当前的shell是哪个程序 |
HISTSIZE | 历史命令记录条数 |
邮件信箱文件 | |
LANG | 语系数据 |
RANDOM | 随机数字 |
PS1 | bash提示符 |
HISTFILESIZE | history命令存储数量 |
PATH | 在路径中的目录查找执行文件 |
EDITOR | 默认文本编辑器 |
#!/bin/bash
##设置变量“WORKDIR”,让每个用户执行`cd $WORKDIR`都登陆到/home/workdir目录中
mkdir /home/workdir
WORKDIR=/home/workdir
cd $WORKDIR
pwd
export WORKDIR # 局部变量提升为全局变量
su -username # 切换到其他用户,执行`cd $WORKDIR`
[^1]本篇文章是我学习刘遄老师的《linux就该这么学v2.0》的学习笔记,纯为自己学习总结及后续复习之用,如有读者读到此文,并对您学习linux有所帮助,实乃杜某之幸,确有不妥之处,也望您海涵。