pwd -P
英文全拼:print work directory
显示当前工作目录的名称
选项:-P显示链接的真实路径。
cd -
返回
ls -l
-a 显示所有的信息,包括隐藏文件与目录。
-d 显示目录本身的信息,而非目录下的资料信息。
-h 人性化显示容量信息。
-l 长格式显示详细信息。
-c 显示文件或目录属性最后修改的时间。
-u 显示文件或目录最后被访问的时间。
-t 以修改时间排序,默认按文件名称排序。
drwxrwxrwx 2 kali kali 4096 Jan 28 2021 3xtract-APK-main
第二列为链接数量或子目录个数,第三列为文档的所有者,第四列为文件的所属组,第五列为容量,第六列为最近文档被修改的月份,第七列为文档被修改的日期,第八列为文档被修改的时间,第九列为文件或目录名称。
chmod u+x
–reference=RFILE #根据参考文档设置权限
-R #递归将权限应用于所有的子目录与子文件
chown root:root
所有者 所属组
getfacl filename
1:#file: somedir/
2:#owner: lisa
3:# group: staff
4 :#flags : -s-
5:user : :rwx
6 : user:joe : rwx #effective : r-x
7:group: : rwx #effective : r-x
8: group : cool:r-x
9:mask : : r-x #mask一行即为最大有效访问权限,作用是控制文件的访问权限,其他用户或组设定ACL实际权限都是与mask最大有效权限相与的结果
10: other: :r-x
第一行为文件或目录名称,
第二行为文档所有者,
第三行为文档所属组,
第四行为suid、sgid、sticky权限的标记位,
第五行为文档所有者权限,
第七行为文档所属组权限,
第十行为其他账户权限,
第五、七、十行为系统基本权限,
第六行为通过ACL指令添加的对账户的访问控制权限,
第八行为通过ACL指令添加的对组账户的访问控制权限,
第九行为权限掩码行。
setfacl
-b #删除所有附加的ACL条目
-k #删除默认的ACL
-m #添加ACL条目
-x #删除指定的ACL条目
-R #递归处理所有的子文件与子目录
YUM
是Yellow dog Update Modified的简写形式。
mkdir -p
-p 创建多级目录
cp -r
递归,复制子文件与子目录,一般复制目录时使用。
rm -rf
-f 不提示,强制删除。
-i 删除前,提示是否删除。
-r 删除目录以及目录下的所有内容。
find
-empty 查找空白文件或目录。
-group 按组查找。
-name 按名称查找。
-iname 按名称查找,不区分大小写。
-mtime 按修改时间查找。
-size 容量大小查找。
-type 按档案类型查找,文件(f)、目录(d)、设备(b,c)、链接(⑴)等。
-user 按用户查找。
-exec 对找到的档案执行命令。
-a 并且。
-o 或者。
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。\n
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
搜索最近七天内被访问过的所有文件 find . -type f -atime -7
搜索恰好在七天前被访问过的所有文件 find . -type f -atime 7
搜索超过七天内被访问过的所有文件 find . -type f -atime +7
搜索访问时间超过10分钟的所有文件 find . -type f -amin +10
-perm 权限模式:査找文件权限刚好等于"权限模式"的文件
-perm -权限模式:査找文件权限全部包含"权限模式"的文件
-perm +权限模式:査找文件权限包含"权限模式"的任意一个权限的文件
find / -mtime 0
#0代表目前时间,表示从现在开始到24小时以前,有改动过内容的文件全都会被列出来。如果是3天前24小时内,则使用find / -mtime 3
find /etc -newer /etc/passwd
#查找/etc下面文件日期比/etc/passwd新的文件
find / -perm 777
目录下777 权限的文件
du -h
-h 人性化显示容量信息。
-s 仅显示总容量。
cat -n
-b 显示行号,空白行不显示行号。
-n 显示行号,包括空白行。
more
分页查看文件内容,通过空格键查看下一页,q键则退出查看。
less
分页查看文件内容,空格(下一页)、方向键(上下回翻)、q键(退出查看)。
less 的用法比起 more 更加的有弹性。
more: 顾名思义显示更多
less: 由于more不能后退,就取more的反义词less加上后退功能
所以Linux里流传着这样一句话:“less is more”.
- less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
- less不必读整个文件,加载速度会比more更快
- less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容
head
-c nK显示文件前nKB的内容。
-n 显示文件前n行的内容。
tail
-c nK显示文件末尾nKB的内容。
-n 显示文件末尾n行的内容。
-f 动态显示文件内容,按Ctrl+C组合键退出。
wc
显示文件的行、单词与字节统计信息。
-c 显示文件字节统计信息。
-l 显示文件行数统计信息。
-w 显示文件单词统计信息。
grep -v
-i 忽略大小写。
-v 取反匹配。
-w 匹配单词。
–color 显示颜色。
echo -e
-n 不输出换行,默认echo 输出内容后会换行。
-e 支持反斜线开始的转义字符,屏蔽反斜线后面字符的原本含义。
ln -s
Linux中的链接文件不同于 Windows的快捷方式,Linux的链接文件分为软链接与硬链接。
软链接可以跨分区,但源文件不可删除;
硬链接不可以跨分区,但可以将源文件删除。
gzip bzip2
-d 解压。
gzip与bzip2工具不可以对目录做打包压缩操作。
tar
-c 创建打包文件。
–delete 从打包文件中删除文件。
-r 追击文件至打包文档。
-t 列出打包文档的内容。
-x 释放打包文件。
clear
ctrl + l
vim
% s/a/b/g
将所有行的a都替换为b
ctrl + n
自动补齐 tab
账户
后台系统会将用户名转化为ID号
UID为0,代表超级管理员,也就是通常所说的root账号,
1~499之间的ID号系统会预留下来。
这样我们创建的普通用户ID号会从500算起。
Linux的组有基本组与附加组之分,一个用户只可以加入一个基本组中,但可以同时加入多个附加组。
创建用户时,系统默认会自动创建同名的组,并设置用户加入该基本组中。
useradd -g root -u 0
-c 设置账号描述信息,一般为账号全称。
-d 设置账号家目录,默认为/home/用户名。
-e 设置账户的失效日期,格式为YYYY-MM-DD。
-g 设置账户的基本组。
-G 设置账户的附加组,多个附加组中间用逗号隔开。
-M 不创建账户家目录,一般与-s结合使用。
-s 设置账户的登录Shell,默认为bash。
-u 指定账户UID。
groupadd -g
-g 设置组ID号。
id
显示账户及组信息。
passwd -d root
-l 锁定账户,仅root可使用此选项。
–stdin 从文件或管道读取密码。
-u 解锁账户。
-d 快速清空账户密码,仅root可使用此选项。
usermod -g root
-d 修改账户家目录。
-e 修改账户失效日期。
-g 修改账户所属基本组。
-G 修改账户所属附加组。
-s 修改账户登录 Shell。
-u 修改账户UID。
userdel
-r 删除账户及相关文件。
/etc/passwd 7
root: x: 0: 0: root: /root: /usr/bin/zsh
账户名称:密码占位符:UID:GID:附加基本信息(一般存储账户名全称、联系方式等信息):家目录位置:登录Shell(/bin/bash为可登录系统Shell,/sbin/nologin表示账户无法登录系统)
密码占位符: x ——》 空
/etc/shadow 9
test:!! 6 6 6tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047 : 7: 90: 7: : :
用户名:加密密码: 最后一次修改时间: 最小修改时间间隔:密码有效期: 警告天数:宽限时间:账号失效时间:保留字段
date -d “1970-01-01 18047 days”
在密码串前加上 “!”、"" 或 “x” 使密码暂时失效。
所有伪用户的密码都是 “!!” 或 "",代表没有密码是不能登录的。当然,新创建的用户如果不设定密码,那么它的密码项也是 “!!”,代表这个用户没有密码,不能登录。
/etc/group 4
scanner: x: 134: saned,kali
组账户名称,密码占位符,GID, 组成员信息(注意,这里仅显示基本成员,附加成员不显示)。
/etc/gshadow 4
kaboxer: !: : kali,root
组账号名称,组密码(一般为组管理员密码), 组管理员, 组成员(与/etc/group第四列相同)。
通过 gpasswd组名 的方式可以为组设置密码,
通过 gpasswd -A 账户名称组账户名称 可以为组添加管理员。
at
一次性计划任务
-m 当计划任务执行结束后发送邮件给用户。
-l 查看用户计划任务。
-d 删除用户计划任务。
-c 查看at计划任务具体内容。
cron
周期性计划任务
-u 指定计划任务的用户,默认为当前用户。
-l 查看计划任务。
-r 删除计划任务。
-e 编辑计划任务。
-i 使用-r删除计划任务时,要求用户确认删除。
为了控制用户随意定义自己的计划任务,管理员可以进行ACL访问控制,
at计划任务的控制文件分别为/etc/at.allow和/etc/at.deny,默认 at.allow不存在。
cron计划任务的控制文件分别为/etc/cron.allow和/etc/cron.deny,默认cron.allow不存在。
uptime
该命令的描述为:打印当前时间,系统已经运行了多久,当前登录用户数以及系统平均负载。
15:31:07 up 240 days,32 min, 1 user,load average: 0.04,0.03,0.08
当前系统时间为15点31分,系统已经运行了240天32分钟,当前有一个用户在登录,CPU负载分别显示的是最近一分钟、五分钟、十五分钟的负载情况。
需要说明的是,这里的负载表示单位时间段内CPU等待队列中平均有多少进程在等待,等待的进程个数越多,说明CPU 越忙。
netstat -an
#查看网络连接状态
netstat -nutlp
#查看当前系统开启端口信息
alias
#查看系统当前所有的别名
>
将输出导入至文件,如果文件不存在,则创建该文件,如果文件已经存在,则会覆盖该文件的内容
>>
将输出追加至文件;对应错误信息的重定向需要使用2>或2>>符号实现。
输入重定向可以使用<符号,它可以帮助我们从文件中提取输入信息。
firefox &
后台运行
ctrl + z
jobs
查看后台进程
{}
[ root@centos6~]#echo user{ 1,5,8}
userl user5 user8
[ root@centos6~] # echo {0..10}
0 1 2 3 4 5 678 9 10
[ root@centos6~]# echo {0..10..2}
0 2 4 6 8 10
[ root@centos6~]# echo a{2..-1}
a2 al a0 a-l
sed
Sed是一款流编辑工具,用来对文本进行过滤与替换操作,
首先,Sed通过文件或管道读取文件内容,但 Sed默认并不直接修改源文件,而是将读入的内容复制到缓冲区中,我们称之为模式空间(patternspace),所有的指令操作都是在模式空间中进行的,然后Sed根据相应的指令对模式空间中的内容进行处理并输出结果,默认输出至标准输出(即屏幕上)。
–version 显示sed版本。
–help 显示帮助文档。
-n,–quiet,–silent 静默输出,默认情况下,sed程序在所有的脚本指令执行完毕后,将自动打印模式空间中的内容,该选项可以屏蔽自动打印。
-e script
允许多个脚本指令被执行。
-f script-file
从文件中读取脚本指令,对编写自动脚本程序很实用。
-i,–in-place
慎用,该选项将直接修改源文件。
-1N
该选项指定Ⅰ指令可以输出的行长度,1指令为输出非打印字符。
禁用GNU sed扩展功能。
–posix
在脚本指令中使用扩展正则表达式。
-r
默认情况下,sed将把输入的多个文件名作为一个长的连续的
-S,–separate
输入流。而GNU sed 则允许把它们当作单独的文件。最低限度的缓存输入与输出。
-u, --unbuffered