Linux命令行笔记

常用系统工作命令

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 变量名[=变量值]"

你可能感兴趣的:(Linux命令行笔记)