ls:查看目录下的内容(不包括隐藏文件)前缀为.的为隐藏文件 ls [操作选项]
ls -a/ls –all:查看一切文件(包括隐藏文件)
ls -c:查看一切文件并按生成时间排序(不包括隐藏文件)
ls -A:查看一切文件名,不包括(..)
ls -l:长列表格式
ls -h: 查看一切文件名(除了.和..)
ls -n:显示uid、gid
cd:目录跳转 cd 目录名
pwd:打印工作目录 pwd [操作选项]
-L:显示逻辑工作目
-P:显示物理工作目录
cp:拷贝 cp [操作选项] 文件名 目录名
-i:复制文件,若文件存在,询问用户是否继续复制
-r:递归复制 当复制dir目录时用-r复制
-a:pdr的集合
相当于-p -d -r一起的效果
-p:连同文件属性一起拷贝
———–这个就不用做演示了,字面意思
-d:若源文件为连接文件的属性,则复制连接文件
———–这个就不用做演示了,字面意思
-s:拷贝为软连接
-l:拷贝为硬链接
-u:源文件比目的文件新才拷贝
———–这个就不用做演示了,字面意思
mv:移动文件及目录 mv 文件名 目录名
-i:移动时,Linux会叫你确认是否移动
-f:强制移动
-u:版本必须更新才能移动
rm:删除文件及目录 rm 文件名
-i:互动模式,删除时,Linux会叫你是否确认移动
-r:递归删除
—————–字面意思
-f:强制删除
—————–字面意思
mkdir:创建目录 mkdir 新建目录名
-p:自动创建父目录
由于没有test目录,那肯定没有test/test以及test/test/test目录,直接mkdir是不能创建的,那么mkdir -p test/test/test就会直接生成当前目录下的test目录以及test/test目录以及test/test/test目录
-m:设置权限
—————–不知道咋设置
rmdir:删除目录 删除时确保目录为空,rm不能删除目录
-p:删除祖先
同理,如果当前在test目录下进行rmdir /test/test/test的操作
那么只会删掉/test/test/test这一个目录
如果rmdir -p test/test/test的话就会删掉test、test/test以及test/test/test
tree:打印目录树
tar:文件归档与压缩 tar 文件名
ln:创建链接文件(生成文件快捷方式—-软连接)
ln -s 源文件 新建文件名:新建文件是源文件的快捷方式(浅拷贝)
ln 源文件 新建文件名:新建文件是源文件的深拷贝
touch:创建空白文件 touch 新建文件名
-a:仅修改访问时间
-c:仅修改文件的时间,若文件不存在,不新建
-d:修改文件日期
-m:仅修改mtime
-t:修改文件时间
可以修改Access time,Modify time为2000年12月12日10点31分14秒
head:查看文件头部
-n num:显示前num行
-n -num:除了前num行外,其它都显示
cat:查看文件内容
-A:相当于-VET
—————————同时有-v -e -t的功能
-v:列出看不出的字符
————-也不知道什么是看不出的字符
-E:显示换行符为$ ——————-字面意思咯
-T:显示TAB为^I
-b:列出行号
-n:列出行号,连空号也编号
tac:反向查看文件内容 tac 文件名
nl:查看文件内容且列出行号 nl 文件名 和cat -b 文件名一模一样
tail:查看文件尾部
-n num:显示文件后num行
-n +num:除了前num – 1行,其它都显示
vim:文本编辑器
———————–这个不用多说
diff:对比文件 diff 文件名1 文件名2
more:分页查看文件
直接用感觉有点像cat呢,不知道是不是错觉
+/string:查找string关键字
f:离开 ————在more完了显示的时候按 f 退出离开
q:离开 ————在more完了显示的时候按 q 退出离开
?:查看其它命令
wc:计数 wc【操作选项】 文件名
less:分页查看文件 less和more可以对关键字进行查找而cat\tac\head\tail不行,但是less\more不能列出行号,其它四个都可以
+/string:查找string关键字
?string:反向查找string关键字
——————–不知道怎么使用,没试出效果
n:继续向下查找
上图是开始的样子,现在按一次n
再按一次n
现在按一次N
这下应该很清楚是什么意思了
N:继续反向查找 ——-上图有展示
q:退出 ——–这个和more是一样的
echo:打印文本
unset:取消变量内容
grep:检索信息(有点像if)
find:查找文件 查找是否有该文件
which:查找可执行文件 which 文件名 具体查找可执行文件路径,通常在bin目录
locate:定位任何文件 locate 文件名 find是查找是否有该文件,而locate是定位该文件
whereis:查找可执行源码、帮助手册 whereis 文件名
useradd:新建用户 useradd 新用户名
chgrp:修改所属组 chgrp 所属组 文件名
chgrp root file:修改file所属组为root
userdel:删除用户 userdel 已有用户名
-r相当于递归删除用户相关的文件和目录
chmod:修改文件权限
修改文件权限:chmod 774(权限编号) 文件名
给脚本文件a.sh的其它(other)增加可写权限
给脚本文件a.sh的其它(other)、用户(user)、组(group)分别减去可写、可执行、可执行的权限
给脚本文件a.sh的所有用户减去可执行权限,a就是all的意思
给脚本文件a.sh的user和group增加可执行权限
usermod:修改用户
chown:修改文件所属者
passwd:修改密码
logout:退出用户
———————字面意思
su:切换用户
exit:退出用户
——————–字面意思
sudo:获取管理员权限
可以不登录root用户却获取root的权限就在命令最前面加一个sudo
ps:打印进程
ctrl + z:挂起前台进程
——————–字面意思,挂起不执行
kill:终止进程 kill 进程pid
fg:进程调至前台 调至前台,开始执行
pkill:批量终止进程 ————–暂时不会使用
bg:挂起的进程后台执行
—————————字面意思
killall:批量杀死进程 —————-暂时不会使用
jobs:查看挂起和后台进程
crontab:定时任务 ——————不知道咋使用
date:查看时间
dstat:查看系统信息
每隔2秒,更新一条数据
1秒更新一次
只更新了三次
stat:查看文件ACM(atime、ctime、mtime) stat 文件名
atime(access time):内容被取用时,更新这个读取时间
ctime:(status change time),权限,属性,所有者改动时,更新这个时间
mtime(modify time):内容数据改动时,更新这个时间
df:查看文件系统
nmon:查看系统信息 ——————-使用不对
du:获取文件大小
ifconfig:查看IP信息
free:查看内容
-b/k/m/g:分别以字节,KB,M,G显示
-o:忽略缓冲区调节列
-s seconds:每隔seconds执行一次free
-h:以可读形式显示
uname:查看OS信息
top:查看系统信息
last:查看最近登陆
htop:查看系统信息
who:查看当前登陆 —————输入没有相应
ssh:远程登陆 —————–暂时还不会使用
ping:测试远程主机
scp:远程拷贝 ————————-暂时还不会使用
reboot:重启
—————————字面意思
wget:获取http文件
poweroff:关机
—————————字面意思
file 文件名:判断文件类型
clear:清空终端所有信息
clear之前
clear之后
source 文件名:加载该文件 ——还不会用
alias ll = “ls -la”:给ls -la起别名ll
—————–字面意思
uptime:打印系统运行时长和平均负载
-p:以批量的格式显示时间
-s:显示系统启动的时间
-V(大写)/–v(小写):输出版本信息
last:显示用户最近登陆信息
-f 文件名:制定文件记录
-n 数字:指定输出记录数
-x:显示系统关机,重新关机等信息
date:显示或设置系统时间与日期
-d “string”:显示字符串所指的日期
-s “string”:设置时间
-u:显示GMT(如果是CST情况下)
<+format>:显示使用的日期格式
w:当前用户列表及正在执行的任务
-h:不打印头信息
-s:使用短输出格式
-f:切换显示FROM项
whoami:打印当前有效的用户名
uname:打印当前系统信息
-a:全部信息
-s:内核名字
-n:网络主机名字
-r:系统发行编号
-v:os版本与时间
-m:主机类型
-p:处理器类型
-i:硬件平台
-o:操作系统名字
cal:打印日历
-1, -3:显示最近一个月和三个月的日历 ——没试出来
-j:显示一年的第几天
-y:显示当前年
参数:指定月份、指定年份 ————不会用
man 命令名:查询命令的使用方法/手册 ———–这个不用多说了吧
sudo apt update:更新软件列表 ——————–不多说
write:给其它用户发送信息
——————字面意思
write 用户名 [终端号]
sudo -i:切换到root用户
——————字面意思
mesg n:不收到信息
——————字面意思
wall 信息:给所有用户发信息(广播) ————还不懂
basename:取文件名
dirname:取目录名
rm:删除 rm 文件名
NL:输出行号显示文件
离谱
-b:行号指定的方式
-b a:相当于cat -n
-b t:相当于cat -b
-n:列出行号的表示方法
-n ln:行号在屏幕最左边显示
-n rn:行号在自己字段的最右边显示
-n rz:行号在自己字段的最右边显示,前面自动补全
-w<num>:行号所占位数
lsattr:查看文件的隐藏属性
lsatter 【操作选项】 文件名/目录名
-a:打印隐藏文件的隐藏属性
-d:如果是目录,仅打印目录信息
-R:递归
chatter:修改文件的隐藏属性
A:不修改atime
S:同步写入
a:只能增加数据
c:自动压缩、解压
d:不会dump程序备份
i:不能删除、修改、建立连接
s:文件删除时,直接从磁盘删除
u:文件删除时,数据内容存在磁盘中
hostnamectl set-hostname 名字:设置云主机名字
lastlog:打印每个账号的登陆时间
touch:修改文件与新建文件
-a:仅修改访问时间(atime)
-c:仅修改文件时间,若文件不存在,则不新建(ctime)
-m:仅修改mtime
-d:修改文件日期
-t:修改文件时间【yymmddhhmm】
which:寻找执行文件
例如:which cat
which ls
which bash等
which 非PASH路径的a.out是不行的哦
which找到一个文件路径就结束查找
whereis:寻找特定文件
可查找多个文件路径
-b:只查找二进制文件
-m:只查找manual路径下文件
-s:只查找source源文件
-u:查找其它文件
locate:搜索文件(可部分查找)locate 文件名
locate是模糊定位,只要带有文件名的,都会被找出来
例如locate print
结果可能为 printf print_outline等等
-i:忽略大小写
-r:后面可接正则表达式
find:多样化高级查询
在根目录找名字为TestGroup组的文件
在根目录找名字为TestUser1的文件
在.中找大小大于4096的文件
找名字为printf.c的文件且把找出的结果放在ls -l 的{}括号中进行
在根目录中找用户组权限为rws的文件
ls -l 查找到的结果
-mtime n:n天前的“一天之内”修改的文件
-mtime +n:n天之前(不包含n),修改过的文件
-mtime -n:n天之内,包含n,修改过的文件
-newer file:比file还要新的文件
-uid n:用户UID为n
-gid n:群组Gid为n
-user name:用户名为name
-group name:群组名为name
nouser:文件所有者不存在
nogroup:文件所在组不存在
-name filename:文件名为filename
-size 【+/-】 SIZE:查找比SIZE更大或者更小的
chsh:修改用户shell
id:显示用户信息
-g:有小组ID
-G:显示附加组ID
-n:显示用户,所属组,或附加群组的名称要结合-ugG
-u:显示用户id
gpasswd:修改组密码 gpasswd 【操作选项】 组名
-a 用户名:将用户加入群组
-d 用户名:将用户剔除群组
-r:删除密码
-A 用户名:将用户名设置为群管理员
-M 用户名,用户名……:设置群组成员
pstree:以树状显示进程派生关系
pgrep:查找进程ID
pkill:批量按照进程名杀死进程
cut:切分
-d:切分的是符号例如“: []”;”
-f:只与-d搭配使用
-c:切分的是数字例如“dafj123456”
取a.cpp的第一列到第五列数据
sort:排序
默认sort排序是先排0-9,再排a-z,a-z之间优先大写再排小写
sort -n:默认先排a-z,再排0-9,a-z中优先排大写,再小写,0-9中优先排数字少的,再排数字多的
对text.log进行操作:-t 以” “为分隔符,-k选择第五行 n进行数字排序,n必不可少
如果有数字相同的情况下,sort -t ” ” 以 “ ”为分隔符,-k 选择第五行,n进行数字排序,r选择数字排序中的逆序,第二个-k意思是一样,但是第一个-k的优先级要高于第二个优先级
uniq:去重
只去除该单词上下相邻的重复项
split:文件切分
每三行拆分出来放在一个文件中
tr:替换、压缩和删除
将所有不是a-z的字符都换成-
把=全部换成:
grep:检索
-v就是检索不要wtmp,不要换行符”^$”的给输出出来
wc:统计字符、字数、行数
tee:双向重定向
xargs:参数代换
没有xargs,就会有局限性如上,最后执行的不是ls -l xav
bc:用于做基础的计算
seq:生成序列 seq n m:生成一个n到m的序列,如下:
sh:切换shell