作用:ls命令用于显示目录内容 用法:ls [选项] [ 文件]
选项:
-a :显示所有文件 ,不隐藏任何以“.”开始的项目
-l :使用较长格式列出信息
-h :与-l一起,以易于阅读的格式输出文件大小,(如1KB、234MB)
ls -a #显示所有文件,包括隐藏文件
ls -lh #以长格式形式显示,文件大小采用KB
ls -l #以长格式显示
ls -lh /usr #输出/usr目录内容
作用:将文件或标准输入组合输出到标准输出
用法:cat [选项][文件]
-n:对输出的所有行编号
-b:类似于-n ,但只对非空输出行编号
cat 3.txt
cat -b 3.txt
cat -n 3.txt
cat 1.txt 2.txt >3.txt #将两个文件合并到一个文件中
作用:删除指定文件
用法:rm [选项][文件]
-f:强制删除。忽略不存在的文件,不提示确认
-r:递归删除目录及内容
rm -rf test
rm 1.txt
作用: less命令的功能几乎和more命令一样,也用来按页显示文件,不同之处在于less命令在显示文件时,用户既可以向前又可以向后翻阅文件
用法: less [选项][文件]
选项:
-N: 在每行前输出行号
-m:显示读取文件的百分比
命令:
1.按键功能
b:向后翻一页。
d:向后翻半页。
h:显示帮助界面。
Q:退出 less:命令。
u:向前滚动半页。
y:向前滚动一行。
空格键:滚动一行。
Enter 键:滚动一页。
2.向前搜索
/:使用一个模式进行搜索,并定位到下一个匹配的文本。
n:向前查找下一个匹配的文本。
N:向后查找前一个匹配的文本。
3.向后搜索
:使用模式进行搜索,并定位到前一个匹配的文本。
n:向后查找下一个匹配的文本。
N:向前查找前一个匹配的文本。
4.全屏导航
Ctrl+F:向前移动一屏。
Ctrl+B:向后移动一屏。
Ctrl+D:向前移动半屏。
Ctrl+U:向后移动半屏。
5.单行导航
j:向前移动一行。
k:向后移动一行。
6.其他导航
G:移动到最后一行。
g:移动到第一行。
q或ZZ:退出 less 命令。
7.编辑文件
v:进入编辑模式,使用配置的编辑器编辑当前文件。
8.标记导航
当使用 less 命令查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特
定标记的文本位置。
ma:使用 a 标记文本的当前位置。
'a:导航到标记 a 处。
less -m file1.txt
less -N file.txt
作用:文件或目录的复制
用法:
cp [选项] 源文件 目标文件
cp 源文件 目录
选项:
-r : 复制目录时,包括此目录下所有的子目录和文件
cp -r abc demo
cp file.txt ./demo
cp file.txt file.txt.bk #对file.txt文件进行备份
作用:mv 可以将源文件重命名为目标文件,或将源文件移动至指定目录
用法:mv [选项] 源 目
mv file.txt file1.txt #对file.txt文件进行重命名
mv file1.txt /home/admin
mv abc demo #abc文件夹移动到demo目录下
mv abc/* demo1 #将abc文件夹目录下的内容全部转移到demo1目录下
作用:查找文件中符合条件的字符串
用法:grep [选项]
grep "html" file.txt #查找文件中包含html字符串的行
grep -c "html" file.txt #显示包含字符串html的行数
grep html file.txt #查找文件中包含html字符串的行
cat file.txt | grep "html" #同第一条命令
ls -l | grep txt #包含txt字符串的文件名
作用:显示文件内容的前多少行
用法:head [选项][文件]
-n,–lines=N:显示每个文件的前N行内容
head -n 3 file.txt #显示文件前3行的内容
显示一个文件内容的最后多少行
tail [选项] [文件]
-n,–lines=N :输出最后N行内容
tail -n 5 file.txt #显示文件后5行的内容
作用:通过探测文件的内容来判断文件的类型(在linux中不用后缀名来区别文件)
用法:file [选项][文件名]
file log.png
file index.html
file hello.txt
作用:显示文本内容
用法:echo [-neE] [字符串]
-n:不输出捍卫的换行符
-e: 允许对家反斜杠转义的字符进行解释
-E:禁止对在STRINGs中的那些序列进行解释
echo hello world
echo "hello world"
echo -e "hello\nworld"
echo -e '\61 \62 \101 \141' #输出ASCII字符,不符合八进制的将按照字面意义进行打印
touch file.txt #将文件的时间记录改为现在的时间,如果文件不存在则新建文件
作用:显示文件或目录
-name filename :查找名为filename的文件
-user username :按文件属主来查找
-group groupname :按组来查找
-mtime -n +n :按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n :按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime -n +n :按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-type b/d/c/p/l/f :查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] :查长度为n块[或n字节]的文件
find . -name '[A-Z]*.txt' #在当前目录及子目录中,查找大写字母开头的txt文件
find . -type l
find / -user yang -type f -name "python*"
作用:以树形图的形式显示文件结构
主要选项:
-a 显示所有文件和目录。
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*“,”/“,”=“,”@“,”|"号。
-L 限制目录显示层级
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
tree /root |more
tree -L 3 ./abc
用法:chmod [ugoa] [+ | - | =] [rwx] 文件名
u 表示“用户(user)”,即文件或目录的所有者
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户
o 表示“其他(others)用户”
a 表示“所有(all)用户”,它是系统默认值
+添加某个权限。
-取消某个权限。
= 赋予给定权限并取消其他所有权限
r 可读------------>4
w 可写----------->2
x 可执行--------->1
注:操作文件夹需要加上-R 参数
chmod 706 /etc/hosts #u的权限为rwx,g的权限为无,o的权限为rw
chmod -R 770 abc #操作文件夹需要加上-R参数
chmod u=rwx /etc/hosts #表示 所有者(u)的权限为 rwx
chmod u+r /etc/hosts #表示 所有者(u)的权限增加 r
chmod u+rx /etc/hosts #表示 所有者(u)的权限增加 rx
chmod u-x /etc/hosts #表示 所有者(u)的权限取消 x
chmod u-x,o+rw /etc/hosts #多个命令一起操作用 , 进行分割
作用:改变文件的拥有者和群组
用法:chown [参数] user[:group] 文件
选项
user 新的文件拥有者的使用者 ID
group 新的文件拥有者的使用者组(group)
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-v 显示详细的处理信息
-R 处理指定目录以及其子目录下的所有文件
chown -R susan:delta test
chown root:root file.txt
用法:more [选项] 文件
作用:用于一次一屏地翻阅文本。
选项:
-d:显示帮助,而不是响铃。
-f:统计逻辑行数而不是屏幕行数。
-l:抑制换页(form feed)后的暂停。
-p:不滚屏,清屏并显示文本。
-c:不滚屏,显示文本并清理行尾。
-u:抑制下画线。
-s:将多个空行压缩为一行。
-NUM:指定每屏显示的行数为 NUM。
+NUM:从文件第 NUM 行开始显示。
+/STRING:从匹配搜索字符串 STRING 的文件位置开始显示。
-V:输出版本信息并退出。
命令:
i:空格:若指定 i,显示下面的 i 行;否则,显示下一整屏。
i:回车:若指定 i,显示下面的 i 行;否则,显示下一行。
i d:若指定 i,显示下面的 i 行;否则,往下显示半屏(一般为 11 行)。
q或Q:退出 more。
=:显示当前行号。
more -5 file.txt #每屏显示5行
more -3 +20 file.txt #从第20行开始显示,每屏显示3行
作用:tr命令可以对来自标准输入的字符进行替换、压缩和删除.
用法:tr [选项][参数]
选项:
-c或——complerment:取代所有不属于第一字符集的字符;
->d或——delete:删除所有属于第一字符集的字符;
-s或–squeeze-repeats:把连续重复的字符以单独一个字符表示;
-t或–truncate-set1:先删除第一字符集较第二字符集多出的字符。
echo "HELLO WORLD" | tr 'A-Z' 'a-z' #输出 hello world
echo "hello 123 world 456" | tr -d '0-9' #输出hello world
用法:wc [选项] 文件
选项:
-c:统计字节数
-l:统计行数
-m:统计字符数。这个参数不能与 -c 参数一起使用。
-w:统计字数。一个字被定义为空白、跳格或换行字符分隔的字符串。
-L:打印最长行的长度
wc -l file.txt
wc -c file.txt
wc -m file.txt
kill 1518
kill -9 1518 #强制杀死进程
-a:显示系统中所有进程的信息。
-e:显示所有进程的信息。
-f:显示进程的所有信息。
-l:以长用法显示进程信息。
-r:只显示正在运行的进程。
-u:显示面向用户的用法(包括用户名、CPU 及内存使用情况等信息)。
-x:显示所有非控制终端上的进程信息。
-p:显示由进程 ID 指定的进程信息。
-t:显示指定终端上的进程信息。
ps -axjf
PPID:表示进程的父进程ID
PID:进程的ID
PGID:进程所在进程组的ID.
SID:进程所在会话ID.
TTY:表示进程关联的终端。
TPGID:值为-1,表示进程为守护进程。
STAT:表示进程当前的状态。
UID:启动进程的用户ID.
TIME:记录进程的运行时间。
COMMAND:表示进程的层次关系。
ps -aux
USE:进程是哪个用户产生的。
PID:进程的身份证ID.
%CPU:表示进程占用CPU计算能力的百分比。
%MEM:表示进程占用了系统内存的百分比。
VSZ:进程使用的虚拟内存大小。
RSS:进程使用的物理内存大小。
TTY:表示进程关联的终端。
STAT:表示进程当前状态。
START:表示进程的启动时间。
TIME:记录进程的运行时间。
COMMAND:表示进程执行的具体程序。
nohup Command [ Arg … ] [ & ]
Command:要执行的命令。
Arg:一些参数,可以指定输出文件。
&:让命令在后台执行,终端退出后命令仍旧执行
nohup /root/runoob.sh &
nohup /root/runoob.sh > runoob.log 2>&1 &
2>&1 解释:
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。
0 –stdin (standard input,标准输入)
1 – stdout (standard output,标准输出)
2 – stderr (standard error,标准错误输出)
ifconfig #查看处于激活状态的网络接口信息。
ifconfig eth0
用法:tar [选项] 文件名.tar.gz 源文件
选项:
-c --create :创建新的归档文件,即打包,打包的意思就是说把一堆文件打包成一个文件
-v --verbose :可视化,显示详细的tar处理的文件信息的过程
-f --file :要操作的文件名
-x --extract :解压文件
-z --gzip, --gunzip, --ungzip :通过 gzip 来进行归档压缩,如 tar -czvf etc.tar.gz /etc/,解压使用tar -zxvf test.tar.gz
-j --bzip2 :通过 bzip2 来归档压缩文件,如 tar -jcvf test.tar.bz2 /etc/,解压使用tar -jxvf test.tar.bz2
-J :使用xz压缩工具压缩成.xz文件,如 tar -Jcvf test.tar.xz /etc/,解压使用tar -Jxvf test.tar.xz
-t --list :表示查看文件,查看文件中的文件内容
-C --directory=DIR :解压文件至指定的目录,如果是解压到当前目录,可以不加-C
tar -czvf etc.tar.gz /etc/ #打包并压缩/etc/目录,压缩包存放在当前目录,名字为etc.tar.gz
tar -xzvf etc.tar.gz -C ./find/ #解压缩etc.tar.gz到指定目录,如果是解压到当前目录,可以不用加-C
用法:zip [选项] 文件名.zip /xxx/路径xxx/文件
选项:
-v :可视化操作,显示压缩的执行过程,默认就是可视化
-q : 静默操作,不显示指令执行过程
-r :表示递归打包包含子目录的全部内容
-d :从压缩文件内删除指定的文件
-n :n为一个数字,压缩级别是从 1~9 的数字,-1 代表压缩速度更快,-9 代表压缩效果更好
-e :加密压缩文件
-u :追加文件到zip压缩包中
zip -vr etc.zip /etc/ #压缩/etc/目录,压缩文件名为etc.zip
zip -d myfile.zip smart.txt #删除压缩文件中的指定文件
zip -e passwd.zip /etc/passwd #加密压缩,需要输入密码
zip -u passwd.zip mypasww.txt #追加mypasww.txt文件到压缩包中
unzip test.zip #将压缩文件text.zip在当前目录下解压缩。
unzip -n test.zip -d /tmp #将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
unzip -v test.zip #查看压缩文件目录,但不解压。
unzip -o test.zip -d tmp/ #将压缩文件test.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。
语法:gzip [选项] 压缩(解压缩)的文件名
gzip * #把当前目录下的每个文件压缩成 .gz 文件。
gzip -dv * #把当前目录下每个压缩的文件解压,并列出详细的信息。
gzip -l * #详细显示例每个压缩的文件的信息,并不解压。
gzip usr.tar #压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。
clear #清空终端屏幕
exit #退出shell
reboot #重启
history #查看历史记录命令
pwd #打印当前工作目录
shutdown -h now #)系统马上关机并且不重新启动
shutdown -r now #立即重启
shutdown -h 20:13 #希望在 20:13 关闭计算机
shutdown +5 "System will shutdown after 5 minutes" #指定 5 分钟后关机,同时送出警告信息
ssh-keygen -t rsa
命令:ssh [-p port] user@remote
user:是在远程计算机上的用户名,如果不指定的话,默认使用当前用户。
remote:是远程计算机上的地址,可以是ip地址、域名。
port:是SSH Server监听的端口号,如果不指定,就默认使用22端口号。
ssh -p 22 [email protected]
scp -r /root/lk [email protected]:/home/lk/cpfile
scp -r [email protected]:/home/lk /root
管道命令【 | 】仅能处理经由前面一个命令传来的正确信息(也就是标准输出的信息),对于标准错误并没有直接处理能力
管道命令的处理示意图:
https://blog.csdn.net/weixin_48524215/article/details/113879893
echo -e "1 apple\n2 pear\n3 banana" > fruit.txt #重定向输出信息到文本文件
tr ' ' '\t' <fruit.txt #从fruit.txt 获取输入,并将字符替换后的结果写到标准输出。
echo 1.2.3.4 >> ip.cfg