常用系统工作命令
wget 使用命令行下载网络文件 “wget [参数] 下载地址”
参数 |
作用 |
-b |
后台下载模式。 |
-O |
下载到指定目录。 |
-t |
最大尝试次数。 |
-c |
断点续传。 |
-p |
下载页面内所有资源,包括图片、视频等。 |
-t |
递归下载。 |
elinks 实现一个纯文本洁面的浏览器 “elinks [参数] 网址”
yum install elinks
elinks [参数]网址
系统状态检测命令
ifconfig 获取网卡配置与网络状态等信息 “ifconfig [网络设备] [参数]”
uname 查看系统内核版本等信息 “uname [-a]”。
uptime 查看系统的负载情况 “uptime”。
free 显示当前系统中内存的使用量情况 “free[-m/-g]”。
who 查看当前登入主机的用户情况 “who[参数]”。
last 系统的登入记录 “last[参数]”。
history 显示历史执行过的命令 :“history[-c]”。
sosreport 手机系统配置并诊断信息后输出结论文档 “sosreport”。
工作目录切换命令
pwd 显示当前的工作目录 “pwd[选项]”。
cd 切换工作路径 “cd[目录名称]”。
参数 |
作用 |
- |
切换到上一次的目录,如"cd -" |
~ |
切换到“加目录”,如"cd ~" |
~username |
切换到其人用户的加目录,如"cd ~teak" |
.. |
切换到上级目录,如"cd .." |
ls 查看目录中有哪些文件 "ls [选项] [文件]"
ls -al
参数 |
作用 |
-a |
查看全部文件(包括隐藏文件) |
-d |
仅看目录本身 |
-h |
易读的文件容量 |
-l |
显示文件的详细信息 |
文本文件编译命令
cat 查看纯文本文件(较短的)"cat [选项] [文件]"
参数 |
作用 |
-n |
显示行号 |
-b |
显示行号(不包括空行) |
-A |
显示出“不可见”的符号,如空格,tab键等等 |
more 查看纯文本文件(较长的)"more [选项] [文件]"
参数 |
作用 |
-数字 |
预先显示的行数(默认为一页) |
-d |
显示提示语句与报错信息 |
head 查看纯文本文档的前N行 "head [选项] [文件]"
参数 |
作用 |
-n 10 |
显示前10行 |
-n -10 |
正常输出(如cat命令),但不显示最后的10行 |
tail 查看纯文本文档的前N行 "tail [选项] [文件]"
参数 |
作用 |
-n 10 |
显示后面的10行 |
-f |
持续刷新显示的内容 |
od 查看特殊格式的文件 "od [选项] [文件]"
参数 |
作用 |
-t a |
默认字符 |
-t c |
ADSCII字符 |
-t o |
八进制 |
-t d |
十进制 |
-t x |
十六进制 |
-t f |
浮点数 |
tr 转换文本文件中的字符 "tr [原始字符] [目标字符]"
wc 统计指定文本的行数、字数、字节数 "wc [参数] [文本]"
参数 |
作用 |
-d 分隔符 |
指定分隔符,默认为Tab |
-f |
指定显示的行数 |
-c |
单位改为字符 |
cut 通过列来提取文本字符 "cut [参数] [文本]"
参数 |
作用 |
-d 分隔符 |
指定分隔符,默认为Tab |
-f |
指定显示的行数 |
-c |
单位改为字符 |
diff 比较多个文本文件的差异 "diff [参数] [文本]"
参数 |
作用 |
-b 分隔符 |
忽略空格引起的差异 |
-B |
忽略空行引起的差异 |
--brief或-q |
仅报告是否存在差异 |
-c |
使用上下文输出格式 |
文本目录管理命令
touch 创建空白文件与修改文件时间 "touch [选项][文件]"
参数 |
作用 |
-a |
近修改“访问时间”(atime) |
-m |
近修改“更改时间”(mtime) |
-d |
同时修改atime与mtime |
-t |
要修改成的时间[YYMMDDhhmm] |
mkdir 创建空白的文件夹 "mkdir [选项] [目录]"
参数 |
作用 |
-m=MODE |
默认的文件目录权限,如"-m 755" |
-p |
连续创建多层目录(若文件夹已存在则忽略) |
-v |
显示创建的过程 |
cp 复制文件或目录 "cp [选项] 源文件 目标文件"
参数 |
作用 |
-p |
保留原始文件的属性 |
-d |
若对象为"链接文件",则保留该"链接文件"的属性 |
-r |
递归持续复制(用于目录) |
-i |
若目标文件存在则询问是否覆盖 |
-a |
相当于-pdr(p,d,r为上述的参数) |
mv 移动文件或改名 "mv [选项] 文件名 [目标路径|目标文件名]"
rm 删除文件或改名 "rm [选项] 文件"
参数 |
作用 |
-f |
忽略警告信息 |
-i |
删除前先询问 |
-r |
删除文件夹 |
dd 指定大小的拷贝的文件或指定转换文件 "dd [参数]"
参数 |
作用 |
if |
输入的文件名称 |
of |
输出的文件名称 |
bs |
设置每个"块"的大小 |
count |
设置要拷贝"块"的个数 |
conv=ucase |
将字母从小写转换为大写 |
conv=lcase |
把字符从大写转换为小写 |
用户与组管理命令
useradd 创建新的用户 "useradd [选项] [用户名]"
参数 |
作用 |
-d |
指定用户的家目录(默认为/home/username) |
-D |
展示默认值 |
-e |
账号有效截至日期,格式:YYYY-MM-DD |
-g |
指定一个初始用户组(必须已存在) |
-G |
指定一个或多个扩展用户组 |
-N |
不创建与用户同名的用户组 |
-s |
指定默认的Shell |
-u |
指定用户的UID |
passwd 修改用户的密码 "passwd [选项] [用户名]"
参数 |
作用 |
-l |
锁定用户禁止其登录 |
-u |
解除锁定,允许用户登录 |
--stdin |
允许从标准输入修改用户密码,如(echo "NewPassWord" |
passwd -stdin Username) |
-d |
使账号无密码 |
-e |
强制用户下次登录时修改密码 |
-S |
显示用户的密码状态 |
userdel 删除用户所有表格 "userdel [选项] [用户名]"
参数 |
作用 |
-f |
强制删除用户,家目录与其相关文件 |
-r |
同时删除用户,家目录与其相关文件 |
usermod 修改用户的属性 "usermod [选项] [用户名]"
参数 |
作用 |
-c |
指定用户的家目录(默认为/home/username) |
-d -m |
展示默认值 |
-e |
账号有效截至日期,格式:YYYY-MM-DD |
-g |
指定一个初始用户组(必须已存在) |
-G |
指定一个或多个扩展用户组 |
-L |
不创建与用户同名的用户组 |
-U |
指定默认的Shell |
-u |
指定用户的UID |
groupadd 创建群组 "groupadd [选项] [群组名]"
打包压缩文件命令
tar 对文件打包压缩或解压 "tar [选项] [文件]"
参数 |
作用 |
-c |
创建压缩文件 |
-x |
解开压缩文件 |
-t |
查看压缩包内有哪些文件 |
-z |
用Gzip压缩或解压 |
-j |
用bzip2压缩或解压 |
-v |
显示压缩或解压的过程 |
-f |
目标文件名 |
-p |
保留原始的权限与属性 |
-P |
使用绝对路径来压缩 |
-C |
指定解压到的目录 |
文件查询搜索命令
grep 对文本进行搜索 "grep [选项] [文件]"
参数 |
作用 |
-b |
将可执行文件(binary)当作文本文件(text)来搜索 |
-c |
仅显示找到的次数 |
-i |
忽略大小写 |
-n |
显示行号 |
-v |
反向选择-仅列出没有“关键词”的行 |
find 查找文件 "find [查找路径] 寻找条件 操作"
"~"代表用户的家目录
"."代表当前目录
"/"代表根目录
参数 |
作用 |
-name |
匹配名称 |
-perm |
匹配权限(mode 为完全匹配,-mode为包含即可) |
-user |
匹配所有者 |
-group |
匹配所有组 |
-mtime -n +n |
匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n |
匹配访问文件的时间(-n指n天以内,+n指n天以前) |
-ctime -n +n |
匹配修改权限的时间(-n指n天以内,+n指n天以前) |
-nouser |
匹配无所有者的文件 |
-nogroup |
匹配无所有组的文件 |
-newer f1 !f2 |
匹配比文件f1新却比f2旧的文件 |
--type b/d/c/p/l/f |
匹配文件类型(块设备、目录、字符设备、管道、链接文件、文件文件) |
--size |
匹配文件的大小(+50k 查找超过50k的文件,而-50k则代表查找小于50k的文件) |
-prune |
忽略某个目录 |
--exec {}; |
后面可接对搜索到结果进一步处理的命令 |
管道命令符 "|"
将前一个命令的标准输出当作后后一个命令的标准输入"命令A|命令B|命令C"。
输入输出重定向
对于输出重定向符有这些情况
符号 |
作用 |
命令 > 文件 |
将标准输出重定向到一个文件中(清空原有文件的数据) |
命令 2> 文件 |
将错误输出重定向到一个文件中(清空原有文件的数据) |
命令 >> 文件 |
将标准输出重定向到一个文件中(追加到原有内容的后面) |
命令 2>> 文件 |
将错误输出重定向到一个文件中(追加到原有内容的后面) |
命令 >> 文件 2>$1 |
将标准输出与错误输出共同写入到文件中(追加到原有的内容的后面) |
对于输入重定向有这些情况:
符号 |
作用 |
命令 < 文件 |
将文件作为命令的标准输入 |
命令 << 分隔符 |
从标准输入中读入,知道遇见“分隔符”才停止 |
命令 < 文件1 > 文件2 |
将文件1作为命令的标准输入并将标准输入到文件2 |
命令行通配符
通配符 |
作用 |
* |
匹配零个或多个字符 |
? |
匹配任意单个字符 |
[0-9] |
匹配范围内的数字 |
[abc] |
匹配已出的任意字符 |
查看开头的所有设备文件:
ls xxx*
查看后面有一个字符的设备文件:
ls xxx?
查看后面包含0-9数字的设备文件:
ls xxx2
查看后面是1或3或5的设备文件:
ls xxx[135]
常用的转义字符
字符 |
作用 |
反斜杠() |
使反斜杠后面的一个变量变为单纯的字符串 |
单引号('') |
转义其中所有的变量为单纯的字符串 |
双引号("") |
保留其中的变量属性,不进行转义处理 |
反引号(``) |
把其中的命令执行后返回结果 |
实用的PATH变量
alias 用于设置命令别名 "alias 别名=命令"
unalias 用于取消命令的别名 "unalias 别名"
重要的环境变量
在 Linux 系统中,变量名称一般都是大写的,这是一种约定俗成的规范。
变量名称 |
作用 |
HOME |
用户的主目录"家" |
SHELL |
用户在使用的 Shell 解释器名称 |
HISTSIZE |
输出的历史命令记录条数 |
HISTFILESIZE |
保存的历史命令记录条数 |
MAIL |
邮件保存路径 |
LANG |
系统语言、语系名称 |
RANDOM |
生成一个随机数字 |
PS1 |
Bash 解释器的提示符 |
PATH |
定义解释器搜索用户执行命令的路径 |
EDITOR |
用户默认的文本编辑器 |
定义方法:变量名称=新的值
查看方法:echo $变量名称
export 命令用于将局部变量提升为全局变量 "export 变量名[=变量值]"