linux-命令-书籍

需要记住的命令
Tab键,提示
ctrl+c 停止某个正在执行的命令
ctrl+z 挂起某个正在执行的命令, 并不会结束.执行fg 命令可以重新启动这个被挂起的命令.
比如vi修改文件时需要执行其他命令,执行后按fg回到vi
ctrl+d 退出文本,相当于输入exit

man page 在线求助page命令, 空格键下一页,q退出

一、基础命令
date
date +%y/%m/%d 20/07/10
date +%H:%M 15:43

cal
cal 2020 整年的日历
cal 10 2020 2020年10月份的日历

bc 计算器
scale=3 输错3位小数

who 连接当前服务器的客户端地址

mkdir test 新建test目录
touch test 新建空的文件test

7.1 文件与目录管理
. 当前目录
… 上层目录

  • 代表前一个工作目录
    ~ 代表“目前用户身份”所在主文件夹
    ~account 代表account用户所在主文件夹
    pwd 显示当前目录
    pwd -P 显示出当前的路径,而非使用连接路径
    mkdir 新建一个新的目录
    mkdir -p test1/test2 可以创建多层目录
    mkdir -m 711 test2 同时可授权
    rmdir 删除一个空的目录
    rmdir -p test1/test2 可以删除多层空目录

ll 或者 ls 查看文件目录(以下参数可以组合使用)
-a 全部文件,包括隐藏文件
-h 以GB/M/KB 显示文件大小
-r 将排序结果反向输出,默认以文件名由小到大
-R 连同子目录一起列出来
-S 以文件容量大小排序
-t 依时间排序
–full-time 以完整时间模式输出

cp 复制文件或者目录 cp -i test /temp/test (将当前test目录复制到/temp重新命名为test)
-a 相当于 -pdr
-f force的意思,若目标文件已存在切无法开启,则删除后再尝试一次
-i 若目标文件已存在,在覆盖时先询问操作的进行 (常用)
-p 连同文件的属性一起复制过来,而非使用默认属性 (备份常用)
-r 递归持续复制,用于目录的复杂行为 (常用)
-s 复制成为符合链接文件,即 快捷方式 文件
-u 当目标文件比源文件旧才更新

rm 删除文件
-f force,忽略不存在的文件,不会出现警告
-i 在删除前会询问用户是否操作,默认
-r 递归删除。非常危险、慎用
rm -i aa* 删除所有以aa开头的文件
rm ./-aa 删除带有-开头的文件,必须加上./前缀,因为 - 是参数,系统会误判

mv 移动文件
-f force,已存在直接覆盖
-i 目标文件已存在提示
-u 目标文件已存在,源文件比较新才会更新
mv aaa bbb 相当于重命名
mv aaa bbb test 同时将aaa/bbb文件移动到 test文件夹,最后一个必须是目录

basename /etc/sysconfig/network 返回network,取最后的文件名
dirname /etc/sysconfig/network 返回/etc/sysconfig,取得目录名称

7.3 文件内容查阅
cat 从第一行开始显示文件内容
-b 列出行号,仅针对非空白行
-E 将结尾的断行字符$S显示出来
-n 列出行号,包括空白行
-T 将【Tab】键以 ^I显示出来
tac 从最后一行开始显示, cat的倒写形式
nl 显示的时候顺便输出行号
more 一页一页的显示文件内容
空格键 向下翻页
Enter 向下滚动一行
/字符串 向下字符串搜索
:f 立刻显示出文件名以及目录显示的行数
q 立刻离开more
b或 ctrl-b 往回翻页
less 与more类似,可以往前翻页
空格键 向下翻页
【PageDown】 向下翻动一页
【PageUp】 向上翻动一页
/字符串 向下字符串搜索
?字符串 向上字符串搜索
n 重复前一个查询
N 反向重复前一个查询
q 退出
head 只看头几行,默认显示10行
head -n 20 a 显示20行数据
tail 只看结尾几行,默认显示10行
-n 后面截数字,表示几行
-f 持续监测后面的内容,如日志文件监控, 按ctrl-c离开
od 以二进制的方式读取文件内容

mtime 文件内容更新时间,默认
ctime 状态改变时间,如权限和属性,
atime 改文件被读取的时间, 如使用了cat命令. 使用举例: ll --time=atime /etc/man.config
touch 命令可以修改上述的时间

7.5 命令与文件名查询
which ll 查看ll命令的路径,根据PATH环境变量所规范的路径去查询
whereis 文件名查找 whereis ifconfig
-b 只查找二进制文件
find [PATH] [option] [action] 较慢
1、与时间有关的参数 -atime -ctime -mtime
-mtime n n为数字,在n天之前的“一天之内”被更改过的文件
find /tmp -mtime 0 查询从现在开始到24小时前tmp目录下有改动过的文件
-mtime +n 在n天之前(不含n天本身)被更改过的文件
-mtime -n 在n天之内(含n天本身)被更改过的文件
-newer file file为一个已存在文件,列出表file还要新的文件
2、与用户和用户组相关的参数
3、与文件权限及名称有关的参数
find / -name passwd 查找文件名为passwd 的文件
find / -type p 查询怪异的文件比较实用 正规文件(f)、设备文件(b、c)、目录(d)、 连接文件(l)、socket文件(s)、FIFO(p)
find / -size +1000k 查询大于1M的文件
find /tmp -name ‘aa 查找tmp目录下文件名包含aa 的文件

8.2 磁盘与目录的容量:df du
df df -h /etc
-a 列出所有的文件系统
-k 以KB显示
-m 以MB显示
-h 以易读的GB/MB/KB等格式显示 (常用)
-i 不用硬盘容量,以inode的数量显示
du du -sm /*
-a 列出所有的文件与目录容量
-h 以易读的GB/MB/KB等格式显示
-s 列出总量而已,而不列出每个个别的目录占用量 (常用)
-S 不包括子目录下的总计
-k 以KB显示
-m 以MB显示

9 文件与文件系统的压缩与打包
9.2.2 gzip,zcat
gzip gzip -v /temp/test 压缩 zcat test.gz 查看压缩文件
-c 将压缩的数据输出到屏幕上,但不删除原文件 gzip -9 -c test > test.gz
-d 解压文件
-v 显示原文件/压缩文件的压缩比
-# 压缩等级,-1最快,但压缩比最差, -9最慢,压缩比最好,默认是 -6
bzip2, bzcat gzip的升级命令 yum -y install bzip2.x86_64 安装命令
-c 将压缩的数据输出到屏幕上
-d 解压文件
-k 保留原文件,不删除原文件
-z 压缩的参数
-v 显示原文件/压缩文件的压缩比
-# 压缩等级,-1最快,但压缩比最差, -9最慢,压缩比最好,默认是 -6

9.3 tar 将目录文件打包,然后使用gzip/bzip2命令压缩,-c,-t,-x同一个命令只能用到一个
-c 新建打包文件,可搭配 -v 查看过程中被打包的文件名
-t 查看打包文件的内容含有哪些文件名,重点在查看文件名
-x 解打包或解压缩,可以搭配 -C (大写) 在特定目录解开
-j 通过 bzip2 支持进行压缩,文件名最好为 *.tar.bz2
-z 通过gzip 支持进行压缩,文件名最好为 *.tar.gz
-v 将正在处理的文件名显示出来
-f filename -f后面接被处理的文件名
-C 目录 解压时,若要在特定目录解压缩使用这个参数。

-P 保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
-p 保留绝对路径,即允许备份数据中含有根目录存在之意
--exclude=FILE 在压缩的过程中,不要将FILE打包

常用例子,其中-j 可用 -z代替,表示使用不同的解压工具
压缩: tar -jcv -f filename.tar.bz2 filename
查询: tar -jtv -f filename.tar.bz2
解压缩: tar -jxv -f filename.tar.bz2 -C filename1

10 vi/vim
vi
有3种模式,一般模式、编辑模式、命令模式。
10.2.2 按键说明
一般模式
1、移动光标的方法
h/j/k/l 分别表示向左下上右移动一个字符,也可用箭头替换, 注意:30j下移30行
Ctrl + f/b 分别表示 屏幕向下移动一页、向上一定一页 (常用)
Ctrl + d/u 分别表示 屏幕向下移动半页、向上一定半页
n 20表示光标向后移动20字符,类似20l
0或【Home】 跳到这一行的第一个字符 (常用)
或 【 E n d 】 跳 到 这 一 行 的 最 后 一 个 字 符 ( 常 用 ) H / M / L 光 标 移 动 到 这 个 屏 幕 的 最 上 方 第 一 行 / 中 央 行 / 最 下 方 行 的 第 一 个 字 符 G 移 动 到 文 件 的 最 后 一 行 ( 常 用 ) n G 移 动 到 文 件 的 第 n 行 g g 移 动 到 文 件 的 第 一 行 n [ E n t e r ] 光 标 向 下 移 动 n 行 2 、 查 找 与 替 换 / w o r d 向 下 查 找 w o r d 字 符 串 ? w o r d 向 上 查 找 w o r d 字 符 串 n / N 表 示 重 复 / 反 向 重 复 前 一 个 查 找 的 操 作 : n 1 , n 2 s / w o r d 1 / w o r d 2 / g 替 换 n 1 到 n 2 行 的 w o r d 1 字 符 串 为 w o r d 2 : 1 , 100 s / c p 100 / c p / g 将 1 到 100 行 的 c p 100 替 换 成 c p ( 常 用 ) : 1 , 或【End】 跳到这一行的最后一个字符 (常用) H/M/L 光标移动到这个屏幕的最上方第一行/ 中央行/ 最下方行 的第一个字符 G 移动到文件的最后一行 (常用) nG 移动到文件的第n行 gg 移动到文件的第一行 n[Enter] 光标向下移动n行 2、查找与替换 /word 向下查找word字符串 ?word 向上查找word字符串 n/N 表示 重复/反向重复 前一个查找的操作 :n1,n2s/word1/word2/g 替换n1到n2行的word1字符串为 word2 :1,100s/cp100/cp/g 将1到100行的cp100替换成cp (常用) :1, EndH/M/L//GnGnggn[Enter]n2/wordword?wordwordn/N/:n1,n2s/word1/word2/gn1n2word1word2:1,100s/cp100/cp/g1100cp100cp:1,s/word1/word2/g 替换第一行到最后一行的word1字符串为 word2 (常用)
:1, s / w o r d 1 / w o r d 2 / g c 同 上 , 替 换 前 需 要 用 户 确 认 3 、 删 除 、 复 制 、 黏 贴 x , X x 向 后 删 除 一 个 字 符 , X 向 前 删 除 一 个 字 符 n x 连 续 向 后 删 除 n 个 字 符 d d 删 除 光 标 所 在 行 ( 常 用 ) n d d 删 除 光 标 所 在 行 向 下 的 n 行 ( 常 用 ) d 1 G 删 除 光 标 所 在 到 第 一 行 的 所 有 数 据 d G 删 除 光 标 所 在 到 最 后 一 行 的 所 有 数 据 d s/word1/word2/gc 同上,替换前需要用户确认 3、删除、复制、黏贴 x,X x向后删除一个字符,X向前删除一个字符 nx 连续向后删除n个字符 dd 删除光标所在行 (常用) ndd 删除光标所在行向下的n行(常用) d1G 删除光标所在到第一行的所有数据 dG 删除光标所在到最后一行的所有数据 d s/word1/word2/gc3x,XxXnxnddnddnd1GdGd 删除光标所在到该行的最后一个字符
d0 删除光标所在到该行的最前面一个字符

yy 复制光标那一行 ,只是复制,不会黏贴
nyy 复制光标向下那n行
y1G/yG/y0/y$ 参考上面删除命令参数

p,P 将复制的行黏贴到光标下一行,大写黏贴到上一行
J 将光标所在行和下一行数据结合成同一行
c 重复删除对个数据,例如向下删除10行, 10cj
u 复原前一个操作 (常用)
Ctrl+r 重做上一个操作 (常用)

一般模式切换到命令模式
:w 将编辑的数据写入硬盘文件中
:w! 强制将编辑的数据写入硬盘文件中
:q 离开vi
:q! 强制离开vi,不保存文件
:wq 保存后离开

vim 环境更改
:set nu 显示行号
:set nonu 取消显示行号

5、保存、恢复、打开文件的警告信息
如果上次操作被意外情况中断,重新打开文件会出现警告信息
[O]pen Read-Only 只读方式打开
(E)dit anyway 正常打开,不会载入上次缓存文件内容
(R)ecover 加载上次编辑缓存文件,恢复上次的修改内容。保存数据离开vi后需要手动删除缓存文件
(D)elete it 确定上次缓存文件无用,直接删除缓存文件
(Q)uit 离开
(A)bort 忽略这个编辑行为,与quit类似

6、块的选择、复制、黏贴 (略)
7、多窗口操作(略)

11、bash
alias 别名 alias cp=‘cp -i’ 命令cp替换 cp -i
unalias 取消别名
history 历史命令
n 列出最近的n条历史命令
-c 清空历史命令
!al 执行最近以al开头的命令

11.5.2、数据量重定向
标准输入:代码为0,使用<或<<
标准输出:代码为1,使用>或>>
ll / > ~/rootfile 将/目录的ll信息输出到 ~/rootfile文件
文件不存在会自动创建
>文件存在会先清空数据,在写入数据
>>在文件最下方累加数据
标准错误输出:代码为2,使用2>或2>>

/dev/null 表示将数据写入黑洞设备,即丢弃
ll /aaa > rootfile 2>errFile 将标准数据和错误数据分别写入不同文件
ll /aaa > rootfile 2>&1 将标准数据和错误数据都写入rootfile文件
ll /aaa &> rootfile 同上

11.6管道命令
11.6.1、选取命令 cut,grep
echo $PATH | cut -d ‘:’ -f 5 将环境变量以: 分割,显示第5段数据,类似java split函数
echo $PATH | cut -d ‘:’ -f 3,5 同上,但会显示第3段与第5段数据
-c 以行为单位,取出固定字符区间

grep
-c 计算找到 查找字符串的 次数
-i 忽略大小写
-n 顺便输出行号
-v 反向选择,及显示出没有 查找字符串 的行
11.6.2 排序命令 sort、 wc、uniq
cat /tmp/my | wc 输出文件的行数、字数、字符数
11.6.3 双向重定向: tee
会将数据量传送给文件或设备

12.4.3 文件比较工具
diff [-bBi] file1 file2 (可以比较文件 和 目录)
-b 忽略一行当中仅有多个空白符的区别 ,如 “ni hao” 和 “ni hao” 视为相同
-B 忽略空白行的区别
-i 忽略大小写的不同

17
将某个命令直接丢给后端处理,前端不需要等待,在命令后面加个 &
tar -zpcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 & 配合管道将stout和stderr日志传输到日志文件,并将任务丢到后台
问题:如果当前bash关闭掉,那是不是后台任务自动停止运行,相当父进程和子进程的关系。
答案:是的,如果是远程连接,当连接中断后,后台任务就会终止
nohup 可以让你在脱机或注销系统后,还可以让工作继续进行
nohup 命令 或者 nohup 命令 &

[ctrl]+z 将目前的工作丢到后台中 暂停
jobs [-lrs] 查看目前后台的工作状态
-l 显示PID的号码
-r 仅列出正在后台run的工作
-s 仅列出正在后台暂停(stop) 的工作
第一列表示任务jobnumber,后面接的+表示最近丢到后台的任务,fg命令会拿该任务
fg %jobnumber 将后台任务拿到前台来处理
bg %jobnumber 让工作在后台下的状态变成运行中
kill -signal %jobnumber 管理后台中的工作
-1 重新读取一次参数的配置文件
-2 代表与由键盘中输入 [ctrl]+c 同样的操作
-9 立刻强制删除一个任务
-15 以正常的程序终止一个项目

17.3.1 进程的查看
ps aux 查看系统所有进程
ps -lA 同上
ps axjf 连同部分进程树状态
ps -l 仅查看自己的bash相关进程
ps aux|egrep ‘(tomcat6-web|tomcat6-s)’ 查询tomcat6-web 和tomcat6-s相关的进程

top 动态查看进程的变化
-d 后面接秒数,默认5秒
-b 以批次的方式执行,通常搭配数据流重定向输出到文件
-n 与p搭配,执行几次
-p 指定某个PID来进行查看监控
top执行过程中可以使用的按键命令
? 显示在top当中可以输入的按键命令
P 以CPU的使用资源排序显示
M 以内存的使用排序显示
N 以PID顺序显示
k 给予某个PID一个信号
r 给予某个PID重新制定nice值,与执行优先级有关
q 离开top软件
1 切换CPU的内核
top内容详解
https://www.cnblogs.com/wangchen07026/p/7650688.html
注意点:
(1)第一行最后三个负载值最好不要超过0.8
(2)特别注意%wa,为IO等待。通常系统变慢是IO产生的问题
(3)swap尽量少用

23.2
rpm -ivh package_name 安装软件
-i install的意思
-v 查看更详细的安装信息
-h 以安装信息栏显示安装进度
-U 软件未安装过则安装,已安装旧版本则升级
-F 软件未安装过则不进行任何操作,已安装旧版本则升级
rpm -ql jenkins 查找jenkins安装路径

yum [option] [查询工作项目] [相关参数]
-y 等待用户输入时,自动提供yes的响应
–installroot=/some/path 将软件安装在/some/path目录,而不使用默认路径
search 搜索某个软件名称或者描述的重要关键字
list 列出目前yum管理的所有软件名称与版本 举例:yum list jdk 列出所有jdk安装软件
info 同上
provides 从文件去搜索软件
install 后面接需要安装的软件
update 后面接需要升级的软件,若要整个系统都升级,直接update就可以
remove 删除功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值