命令总结3.30

Linux58期命令总结-岳国霖

帮助相关

man 查看普通命令的帮助

例:man ls  man+命令

help 查看内置命令的帮助

例:cat --halp

info 查看一个命令更多的信息

例:info cat

关机重启

shutdown 关机重启

-r reboot重启

reboot直接重启

shutdown -r 1 一分后重启

-h halt关机

halt关机

shutdown -h 1 一分后关机

halt 关机CPU停止工作

poweroff 关机断电

init 切换运行级别

init 0关机

init 6重启

reboot 重启

systemctl

reboot

systemctl  reboot 系统重启

poweroff

sync 把数据写回磁盘,以buffer写回磁盘

目录相关

pwd 打印工作目录

当前所在路径

切换工作目录

-上一次所在目录

cd -

.当前目录

cd .

..上级目录

cd ..

~用户家目录

cd ~

tree 以树形结构显示目录或文件

-L level 指定层数

tree -L 2 指定看到第二层

-d 只显示目录

tree -d test 只看test下的目录

mkdir  创建目录

-p 递归创建目录

mkdir test{1..3}  创建多个目录

mkdir -p test1/test2  在1下面在建个2

ls - list directory contents

      列表  目录      内容

-l long 长格式显示文件属性*

ll test.txt    ll加文件或目录

-a 显示所有文件,含隐藏文件*

ls -a /查看根下所有文件

-d 只显示目录*

ls -d ~ 不显示文件

-i 显示inode节点*

ls -i oldgirl.txt  显示文件目录的inode

-h human 人类可读形式显示

ls -lhi  l长格式详细 h是人类可读 i是inode

-p 目录结尾加斜线,区分目录和文件

ls -p /  目录后有/

-F 不同文件结尾加不同标识,目录结尾加斜线

ls -F /  目录后加各种标识

--color=auto 显示不同文件的颜色

ls --color /

--time-style显示修改时间的格式

3.5.9.1 long-iso 年月日时分

3.5.9.2 iso 月日时分

-r reverse反转排序

ls -r / 反转显示根下

-t 按修改时间排序

ls -t /  根下按时间排序

cp - copy files and directories

      拷贝  文件  和      目录

-r 复制目录

cp -r /etc/opt ~ 把opt复制到家目录下

-p 保持文件或目录属性

cp -rp /etc/opt ~ 单用不能复制目录

-a 相当于dpr

cp -a /etc/opt ~ 文件目录所有属性复制到家目录

-i 是否覆盖确认 默认输出

rm 删除文件或目录

-f强制删除 不能删除目录

-r 递归删除

rm -r opt 删除opt

mv 移动文件或目录,或改名

mv /etc/11.txt ~ 把etc下的11.txt移动到家目录

文件内容

touch 创建文件或更新文件时间戳

touch 12.txt ~ 创建12.txt到家目录

vi/vim 文本编辑器

vim 11.txt  加文件名就可以编辑

echo - display a line of text

            显示        文本中的一行

-n 不换行输出 指同一行

-e 支持转义字符输出??

printf 格式化打印字符串

cat 查看文件内容

-n 显示行号

cat -n 11.txt 显示行号针对文件

tac 按行上下翻转文件内容

tac /etc/11.txt 命令加位置

rev 左右按字符翻转行的内容

rev /etc/11.txt

more 分页查看文件内容

more 11.txt 按空格翻页

less 分页查看文件内容

-N 显示行号

less -n 11.txt  按q退出??

head - output the first part of files

            输出          开头 部分    文件

-n 前n行,n可省

head -5 11.txt 显示前5行

tail - output the end part of files

-n 后n行,n可省略

tail -5 11.txt 后5行

-f 跟踪文件尾部的变化

tail -f 11.txt  最后一行追踪 ctrl+c停

tr - translate or delete characters

        替换    或    删除    字符

??

chmod u=rwx,g=rwx,o=rwx 11.txt

cut 按列切割

-d  指定分隔符??

-f 指定哪列,多列可用逗号或者-??

-c 按字符取内容??

文件相关

file 查看文件类型

file /etc/opt 它可以是目录和文本

ln make links between files

    创建  连接  在两个文件之间

-s soft创建软链接

ln 11.txt 11.txt.d  硬链接  原件前 复件后 

ln -s 11.txt 11.txt.d  软链接

which 查命令所在的路径

which cat 查cat命令据路径

whereis查找命令、源码、帮助等路径

-b 查二进制命令

whereis -b cat=which cat 查cat命令据路径

locate 查找文件及帮助相关,从updatedb对应的数据库里查

locate /etc/sh 搜索etc目录下所有以sh开头的文件 且是全路径

find 查找目录下的文件find /etc查/etc目录下文件

-name 按文件名查找

find / -name 11 查找 /下名11的文件

-type 按类型查找

find /etc -type d 查找etc下目录  f是按文件

-exec 对查找的结果再处理??

自由主题

-mtime 按修改时间查找

find /etc -mtime -1 查找一天以内命令 +1查1天以前

-perm 查权限

find /opt -perm 755 查755权限的文件

xargs 从标准输入执行命令

-n 数字,几个东西在一组

cat /etc/11.txt |xargs -n3 多行内容的单输出且每行3个

-d 指定分隔符,不指定默认是空格

echo '11@22@33' | xargs -d '@' echo  @分隔符=空格 输出为 11 22 33

-i 把{ }当做前面查找的结果??

stat 查看文件属性 stat 11.txt

-c 获取指定文件属性的一部分??

%A 显示字符权限??

用户管理

id 查看用户身份

id root

id 查看 单个查看当前 uid gid groud

-u 查看uid

-g 查看gid

whoami 查看当前用户

useradd 添加普通用户

useradd oldboy 创个oldboy普通用户

-s 指定登录的SHELL解释器

-c 添加用户说明

useradd gongli1 -c "beautify woman" -d /tmp -e '2020/10/20'

-d 指定家目录

-g 指定所属的组

useradd gongli2 -g oldboy 建个用户组是oldboy组

-M不创建家目录

-e 设定登录截止日期

useradd -D -s /bin/sh  相当于vim编辑/etc/default/useradd文件。

SHELL=/bin/sh      修改useradd默文件下的shell为/bin/sh

-u 指定uid多少

useradd bingbing -u 888 -s /sbin/nologin -M  建UID为888解释器为nologin,不建家目录

userdel oldboy  删除oldboy普通用户

-r  递归删除用户下面内容

usermod 修改用户属性

usermod -g jj gg  修改权限usermod -g jj gg jj是用户组gg是用户

echo 123456|passwd --stdin oldgirl

-u 指定uid多少

useradd bingbing -u 888 -s /sbin/nologin -M  建UID为888解释器为nologin,不建家目录

-s 指定登录的SHELL解释器

-M不创建家目录

-c 添加用户说明

useradd gongli1 -c "beautify woman" -d /tmp -e '2020/10/20'

-d 指定家目录

-g 指定所属的组

useradd gongli2 -g oldboy 建个用户组是oldboy组

-e 设定登录截止日期

passwd 给用户修改密码  单个直接改当前改密码

--stdin从标准输入接收密码

echo 123456|passwd --stdin oldboy

设置密码

chpasswd批量更新用户的密码命令

groupadd 添加用户组

-g 指定组id

例 groupadd -g 666 sa1 指定666为sa1用户组 id

groupadd oldboy 创个oldboy普通用户组

groupdel删除用户组

groupdel oldboy  删除oldboy普通用户组

chage查看和修改密码改变密码过期信息

-E 修改帐户过期时间

chage -E "2020/10/1" oldboy

-l  显示用户的密码信息

chage -l oldboy 查看它密码信息

w查看当前登录的所有用户

who 没有w多

last 登录的历史,看谁登录过

lastlog 查看最近谁登录过的用户报告

su 用户身份切换

- 携带环境变量登录 没有就不携带

-c 到指定目录下执行命令

su - oldboy -c pwd  到它下面查当前路径

sudo命令:可以以最小化的权限(单个命令),执行命令时拥有root用户的权限

-l 查看获得的权限,查已提权的命令

sudo -l

visudo  编辑sudo配置文件的命令

-c 检查配置文件语法

visudo -c 检查vim语法

其他相关

date 显示系统时间和日期 单个使用所有时间

-s 修改时间

date -s 20190302 设置不同日期

date -s 00:00:01 设置不同时间

date -s “00:00:01 20190302”一起设置

-d 指定过去或未来格式

date +%F 显示日期

date +%F "-1day"显示退一天 +1前一天

alias 查看或设置别名

alias cp='cp -i'设置cp别名

unalias 取消别名

unalias cp 临时取消别名

runlevel 查看运行级别 单个直接使用

init 切换运行级别

init0 关机

hostname 修改主机名 单个看主机名

hostname 11 把主机名改11重启生效

hostnamectl C7永久修改主机名

hostnamectl 11 把主机名改11重启生效永久的

getenforce 查看selinux状态 单个使用

setenforce 设置selinux状态

setenforce 1/0

md5sum给文件设置指纹(计算和检查MD5信息)

md5sum /etc/passwd 给passwd创建指纹

打包压缩

tar 打包压缩

-z 压缩

tar zvcf 11.txt.gz 11.txt  打包文件在前源文件在后

-c 创建

-v 输出打包过程

-f 文件

-t 查看文件

-C 指定解压的路径

tar zvxf 11.txt.gz -C /opt 解压到指opt下

-x 解压

-h 跟随软连接

--exclude 排除不打包的文件

tar zvcf 11.txt.gz 11.txt  --exclude=路径位置中不要的文件  一般是一个目录

-X 从文件中排除不打包的文件

磁盘管理

df 查看文件系统

-i inode 信息

df -i

-h human以人类可读的形式查看block信息

df -h

fdisk 磁盘分区工具

fdisd  /dev/sdb  开始给sdb分区 

m查看分区

n 添加一个新分区

p 查看分区结果信息

q 退出不保存

d 册除一个分区

w保存并退出

t 调整分区类型

l  列表分区类型

dd 虚拟文件系统

修改分区dd if=/dev/sda of=/dev/sdc bs=512 count=10240

ls -l /dev/sdc 查看

file /dev/sdc  显示信息

      if=/dev/sda 

of=/dev/sdc生成文件系统   

bs=512 block大小

count=10240 块个数

partprobe 将分区信息真正执行通知内核

partprobe /dev/sdb

parted GNU磁盘分区

parted /dev/sdb mklabel gpt            #<==修改分区格式为gpt。中间是主分区名称

parted /dev/sdb mkpart primary 0 4800000        #<==创建一个4.8T主分区

parted /dev/sdb mkpart primary 4800001 5800001  #<==创建一个1T主分区

parted /dev/sdb mkpart primary 5800002 5804098  #<==创建一个4G主分区

mkfs 格式化(本质创建文件系统)

-t 指定类型-t ext4(mkfs)

mount 挂载文件系统

-t指定文件类型

mount -t ext4 /dev/sdb1 /mnt #挂载到/mnt

-a 可以将fstab挂载

-o 挂载选项

自由主题

umount 卸载文件系统

-lf 强制卸载

umount -lf  /mnt

自由主题

blkid 查看块设备属性(UUID/FSTYPE)

dumpe2fs 查看ext文件系统细节

xgs_info查看 一堆文件信息细节

fsck 磁盘检查和修复(好的磁盘不操作)

-a修复磁盘,针对e2fck

free -m 查内存泄露

xfs_repair

三剑客

grep - print lines matching a pattern

          打印    行    匹配      一个  模式/样式 搞过滤的

基本正则 grep

尖角号^用法为^oldboy 表示匹配以oldboy单词开头的行 字符也可以

grep "^my" oldgirl.txt  grep后加个-n就能显示行号

美元符 用法为oldboy$ 表示匹配以oldboy单词结尾的行

grep "m$" oldgirl.txt

组合符^$  用法为^$oldboy 表示空行 以^开头的行,以$结尾的行

grep "^$" oldgirl.txt显示空行 加-v取后

点号.  表示匹配任意一个有且只有一个字符(但不能匹配空行)

grep ".$" oldgirl.txt  点是任意结尾的字符

星号 *  重复前一个字符(连续出现)0次或1次以上

grep "0*" oldgirl.txt

.* 组合符  匹配所有内容包空行

grep ".*" oldgirl.txt  所有行都显示

^.*组合符 匹配以任意多个字符开头的内容

grep "^o.*" oldgirl.txt 以0开头所有的行

.*$组合符 以任意多个字符结尾的内容

grep ".*\m$" oldgirl.txt 所有以m结尾的行

[abc]或[a-z]      匹配[]集合内的任意一个字符a或b或c

grep "[a-z]" oldgirl.txt    显示a-z所有字符

[^abc]      匹配不包含^后的任意字符a或b或c,^表示对[abc]取反

grep "[^a-z]" oldgirl.txt  反取

转义符\  让特殊含义字符脱马甲显原形 如 \. 点只表示小数点

grep "\." oldgirl.txt 原来点代表所有,现在只显示点

扩展正则 egrep=grep -E

+  匹配前一个字符1次或1次以上

例 egrep "0+" oldboy.txt  = 一个0以上选出来

    过滤  "字符 匹配前一字符1次或1次以上都可 " 文件名

[:/]+  匹配括号内的:或/字符1次或1次以上

例 egrep "[:/]+" oldboy.txt  = :/选出来  中括号内 或的关系

    过滤  "字符 匹配前一字符1次或1次以上都可 " 文件名

?    匹配前一个字符0次或1次

egrep "(ss)?" oldgirl.txt 就前面一个字符0次或1次

|    表示或者,即同时过滤多个字符串

例 egrep  "oldboy|like" oldboy.txt  =oldboy like选出来

    过滤  "字符串 或者 字符串" 文件名

a{n,m}        匹配前面一个字符最少n次,最多m次

egrep "s{0,1}" oldgirl.txt

a{n,}          匹配前面一个字符最少n次

egrep "s{2,}" oldgirl.txt 这是2个ss起

a{n}            匹配前面一个字符正好n次

egrep "s{2,}" oldgirl.txt 这是2个s的

a{,m}          匹配前面一个字符最多m次

egrep "s{,2}" oldgirl.txt 这是最多2个ss

( )  分组过滤被包括起来的东西表示一个整体,另()的内容 可以被后面的\n引用,n为数字,表示引用第几个()的内容 

例    egrep -o "(0)(0)\1\2" oldboy.txt =0000显出来

      过滤 只选 两内容引用1引用2 文件名  显示内容

\n      引用前面()里面的内容;如(aa)\1,匹配aaaa

--color=auto 过滤的内容加色

grep --color "无" /root/11.txt 过滤出有加色的 无

-v invert取反

grep -v "无" /root/11.txt 过滤有 无 的行

-i ignore(忽略)不区分大小写

grep -i "gj" /root/11.txt  过滤有“gi”字符串

-n number(数字)对输出的内容显示在源文件中的行号

grep -in  "无" /root/11.txt 过滤有“无”并显示行号

-w word 按单词为单位过滤

grep -w  "aaaa" /root/11.txt 只针对单词多个字符都不行

-o 只输出匹配的内容

grep -o  "g" /root/11.txt  只显示有的 g

-E extend 扩展的grep,即egrep

-A after 显示过滤的字符串和它之后的多少行

grep -A5 "我好无a耻x" /root/11.txt 前5行

-B after 显示过滤的字符串和它之前的多少行

grep -B5 "我好无a耻x" /root/11.txt 后5行

-C context 显示过滤的字符串和它之前之后的多少行

grep -C5 "我好无a耻x" /root/11.txt 前后各5行

-P 用于过滤per|兼容正则表达式

sed Stream editor 流编辑器 搞行的

-n 取消命令的默认输出

sed -n '15,20p' /root/11.txt 输出15-20行

-i 直接修改文件内容,而不是输出到终端

sed -i '1a 帅气' 11.txt 1行后加帅气

sed -i '/耻/d' 11.txt  删除有 耻 的行

sed的内置命令字符说明

s 替换

sed "s#帅#豪#g" 11.txt  后的替换前面的

g 全局global

p  打印print

sed  -n  "/oldboy/p" oldgirl.txt 打印显示oldboy的行

d 删除delete

sed  "/oldboy/d" oldgirl.txt 删除oldboy这行cat 看不到加-i可看

a 追加 append

sed -i "4a 2222" oldgirl.txt 4行后加2222

i 插入 insert

sed -i "4i 2222" oldgirl.txt 4行前加2222

awk 是一门命令操作也可以作为编程语言,处理字符串牛逼 搞列的

awk 参数 条件 文件

awk参数

-F 指定分隔符

awk -F ":" '{print $NF}' oldboy.txt 以:号为分隔符打印最后一列

$1 第一列

$2 第二列

$0 整行

$NF最后一列

$NF-1 倒数第二列

$NR 行号

1 awk -F ":" '{print $1}' oldboy.txt 以:号为分隔符打印第一列

2 awk -F ":" '{print $1}' oldboy.txt 以:号为分隔符打印第二列

3 awk -F ":" '{print $0}' oldboy.txt 以:号为分隔符打印整行

4 awk -F ":" '{print $NF}' oldboy.txt 以:号为分隔符打印最后一列

5 awk -F ":" '{print $0}' oldboy.txt 以:号为分隔符打印倒数第二列

6 awk 'NR>1&&NR<4' oldboy.txt取2-3行内容

文件属性

chmod更改文件目录权限 9个字符位置

chmod u=rwx,g=rwx,o=rwx 11.txt

-R递归修改

chown change owner 改变文件用户和用户组 

-R 递归修改

例:chown oldboy test.txt

chgrp  change grep  修改用户组

例:chown oldboy test.txt

网络服务命令

定时任务

crontab定时任务

-l list 列表定时任务*

crontab -l 查看当前用户定时任务

-e edit 编辑定时任务*

crontab -e 编辑当前用户定时任务

-u user 查看特定用户下定时任务??

你可能感兴趣的:(命令总结3.30)