Linux 基本指令大全。(万字详解)

目录

Linux下添加新用户

Linux下的复制粘贴

ls指令(查看目录内容)

ls  -a 列出目录下所有的文件,包含隐藏文件。

ls -A 列出除.及..的其它文件,包含隐藏文件。

​编辑

 ls  -l 列出所有文件详细信息,不包含隐藏文件。

 ls -d 将目录像文件一样显示。而不是显示目录下的文件。

ls -n :用数字的UID和GID代替名称。

ls -1 :一行只输出一个文件。

 ls -R递归列出所有子目录下的文件。

ls -F:在列出的文件名称后加一符号;

ls -t 将文件依建立时间之先后次序列出

ls -r 将文件以相反次序显示(原定依英文字母次序)

ls -S 以文件大小排序。

ls -h 以易读大小显示

ls通配符

ls *   列出全部文件(递归列出)

ls test.?   列出1开头的、并且扩展名是1个字符的文件

ls test.?*   列出1 开头的、并且扩展名是至少1个字符的文件

​编辑

ls ?.c*列出扩展名之前是单个字符,并且扩展名部分的第一个字符是 c 的文件

​编辑

ls *.h  列出所有扩展名为h的文件

ls *.*    列出所有带有扩展名的文件

ls [1-3].h   列出文件名是1-3中的1个字符、并且扩展名是 h 的文件

ls *.[^c]*  列出具有扩展名、并且扩展名首字母不是 c 的所有文件

 ls [1-3].[ch]  列出文件名是1-3中的1个字符、并且扩展名是 c 或 h 的文件

pwd指令

pwd显示当前路径。

​编辑

 pwd -p 查看软链接的实际路径

cd指令

cd [绝对路径] 切换到指定的工作目录下

cd [相对路径] 切换到指定的工作目录下

cd ../ 切换到上级目录

cd ~ 返回到用户家目录。

cd -  返回到最近一次访问的目录。

stat指令

touch指令

touch [一个或者多个不存在的文件名]  创建普通文件。 

touch -c [普通文件或者目录名]: 避免创建新文件

touch [已经存在的文件或者目录]:更改文件的访问时间和修改时间。

touch -a [已存在的文件或者目录] :仅更改此文件的访问时间.

 touch -m [已存在的文件] :显示修改时间已更改为使用'-m'选项运行touch命令的时间

mkdir指令

mkdir [目录名] 创建一个新目录

mkdir -p  runoob2/test  :也是创建目录。

rmdir指令

rmdir [目录名] 删除这个空目录

rmdir -p dir1/dir11/dir111 递归删除目录

rm指令

rm file 删除这个普通文件。

rm -r dir 深处目录及其目录下所有的文件。

rm -f file 强制删除普通文件

rm -rf dir 强制删除目录

rm -ir dir 删除每一个文件前询问是否删除。

man 指令

man [指令或者函数] 查找该指令的信息(参数,选项等等)

man -a [指令或者函数] 将所有章节的都显示出来。

man 2 [指令或者函数] :在第二章搜索对应的指令或者函数。

cp指令

cp [源文件相对/绝对路径] 【目标目录】 :复制一个文件到指定目录。

cp  -a  [源文件相对/绝对路径] 【目标目录】:复制一个文件到指定目录。(并且时间保持一致)

cp  -f  强制拷贝

cp -i 拷贝前询问

cp -r [目录] 【目标目录下】将目录拷贝到另一个目录下。

mv指令

mv [文件名] [已存在的文件或者目录]:修改文件或者目录的名称。

mv file1  dir :将file文件剪切到目录

mv -f [file] [dir] :如果目标目录中已经存在file文件,则直接覆盖  。

mv -i [file] [dir] :如果目标目i录中已经存在file文件,询问是否覆盖。

mv * ../:移动当前文件夹下所有的文件到上级目录。

cat 指令

cat file 查看文件内容

cat -n file 查看文件并编号。

cat -b file 查看文件对非空行进行编号

cat -s file 不输出多行空行

tac //倒过来打印

cat > filename :从键盘新建一个文件。

cat file1 file2 > file 将几个文件合并为一个文件

cat -n file > file3 把file里面的内容加上行号输入到file3里面去。

more 指令

more  【指定文件】 :

more +3 file c从第三行开始显示

ll | more -5  在所列出文件目录详细信息,借助管道使每次显示 5 行

less 命令

head指令

head file  -n 20 或者 head -n 20 test  显示 file文件中前 20 行

head -c 20 file  显示 file 文件前 20 字节

tail指令

tail 10 file : 显示文件的后 10 行

which 命令

which ls 查看ls可执行文件(指令)的位置。​编辑

find 指令

find -name filename  :按照文件名称来查找文件。

find -atime -2  查找 48 小时内修改过的文件

find ./ -name '*.log'  在当前目录查找 以 .log 结尾的文件。

find /opt -perm 777  查找 /opt 目录下 权限为 777 的文件

find -size +1000c  查找大于 1K 的文件

find -size 1000c 查找等于 1000 字符的文件

find . -type f -mtime +10 -exec rm -f {} \;

find . -name '*.log' mtime +5 -ok -exec rm {} \; 

find . -f -name 'passwd*' -exec grep "pkg" {} \;

find . -name '*.log' -exec cp {} test3 \; 用 exec 选项执行 cp 命令

find . -type f -print | xargs file

find . -type f -name "*.js" -exec grep -lF 'ueditor' {} \;find -type f -name '*.js' | xargs grep -lF 'editor'

find . -name "*.log" | xargs -i mv {} test4

grep 指令

grep  '字符串’ file 在file文件里面查找 字符串。

grep -lR '^grep' /tmp

grep '^[^x]' test.txt

zip 指令

zip test.zip test :将test文件压缩为test.zip

 zip -r dir1.zip dir1 :将目录dir1 压缩为 dir1.zip 

unzip 指令 

unzip test.zip 将文件或者目录解压到当前目录

 unzip test.zip  -d dir1/ 将test.zip压缩包解压缩的 dir1 目录下

cal 命令

cal 11 2022 显示指定年月日期​编辑

cal -y 2022  显示2013年每个月日历​编辑

cal -3m 将星期一做为第一列,显示前中后三月

date 指令

tar指令

tar -czf  my.tgz  [文件或者目录]  

tar -xzf my.tgz 

tar -tf my.tgz 

bc指令

uname 指令 

[Tab],[ctrl]-c, [ctrl]-d 指令

shutdown [选项] ** :关机

ctrl+r

lscpu

lsmem

df -h

who

whoami

top

netstat

free

df

clear

stat 【文件名】

cat 

echo

nano

sort 【文件】

uniq 【文件】

alias

wc

whereis 字符


Linux下添加新用户

我们直到linux和windows一样都是多用户系统。一个超级用户,带一群普通用户。

adduser [新建用户名]  :添加一个新用户。

passwd [用户名] :给用户改密码。(不写用户名默认修改root用户的密码)

userdel -r [用户名]  :删除用户。

Linux下的复制粘贴

复制:ctrl+insert(有些同学需要配合fn来使用)

粘贴:shift+insert

不能使用ctrl+c / ctrl+v。

ls指令(查看目录内容)

  • ls 是英文单词 list 的简写,其功能为列出目录的内容,是用户最常用的命令之一,类似于 DOS下的 dir 命令。
  • Linux 文件 或者 目录 名称最长可以有 256 个字符参数 含义。
  • 以 . 开头的文件为隐藏文件,需要用 -a 参数才能显示。
  • . 代表当前目录。
  • … 代表上一级目录。
  • 一个文件包含文件内容和文件属性,一个空文件或者空目录也需要占有磁盘空间。文件分为普通文件和目录。
  • 可以说linux下一切皆文件。

ls  -a 列出目录下所有的文件,包含隐藏文件。

ls也是显示所有文件,但是不包含隐藏文件。(一般白色的是普通文件,蓝色的是目录,绿色的是可执行文件,可能不同发行版本不同,但是大同小异。)

ls -A 列出除.及..的其它文件,包含隐藏文件。

Linux 基本指令大全。(万字详解)_第1张图片

 ls  -l 列出所有文件详细信息,不包含隐藏文件。

可以和上面的 -a 形成对比。可简写为 ll

Linux 基本指令大全。(万字详解)_第2张图片

 ls -d 将目录像文件一样显示。而不是显示目录下的文件。

一般是未来看目录的详细信息的 。配合 ls -ld [指定目录]看目录的详细属性。 

Linux 基本指令大全。(万字详解)_第3张图片

 不指定目录的时候,就是显示当前所在目录的属性。

ls -n :用数字的UID和GID代替名称。

Linux 基本指令大全。(万字详解)_第4张图片

ls -1 :一行只输出一个文件。

Linux 基本指令大全。(万字详解)_第5张图片

 ls -R递归列出所有子目录下的文件。

Linux 基本指令大全。(万字详解)_第6张图片

ls -F:在列出的文件名称后加一符号;

可执行档则加 :"*", 目录则加 :"/" , 符号连接加:"@" , FIFOs加:"|" , 套接字加:"=" 。

Linux 基本指令大全。(万字详解)_第7张图片

ls -t 将文件依建立时间之先后次序列出

Linux 基本指令大全。(万字详解)_第8张图片

ls -r 将文件以相反次序显示(原定依英文字母次序)

可以和别的选项配合起来用。

Linux 基本指令大全。(万字详解)_第9张图片

ls -S 以文件大小排序。

注意:大写。

Linux 基本指令大全。(万字详解)_第10张图片

ls -h 以易读大小显示

例如:4096 显示为 4.0k

Linux 基本指令大全。(万字详解)_第11张图片

ls通配符

ls *   列出全部文件(递归列出)

都是递归列出。和 ls -R还是有一定的区别的。

Linux 基本指令大全。(万字详解)_第12张图片

ls test.?   列出1开头的、并且扩展名是1个字符的文件


注意:(此处认为文件名全名中带有.就是有扩展名)

Linux 基本指令大全。(万字详解)_第13张图片

ls test.?*   列出1 开头的、并且扩展名是至少1个字符的文件

Linux 基本指令大全。(万字详解)_第14张图片

ls ?.c*列出扩展名之前是单个字符,并且扩展名部分的第一个字符是 c 的文件

Linux 基本指令大全。(万字详解)_第15张图片


ls *.h  列出所有扩展名为h的文件

Linux 基本指令大全。(万字详解)_第16张图片

ls *.*    列出所有带有扩展名的文件

Linux 基本指令大全。(万字详解)_第17张图片

ls [1-3].h   列出文件名是1-3中的1个字符、并且扩展名是 h 的文件

Linux 基本指令大全。(万字详解)_第18张图片

ls *.[^c]*  列出具有扩展名、并且扩展名首字母不是 c 的所有文件

Linux 基本指令大全。(万字详解)_第19张图片

 ls [1-3].[ch]  列出文件名是1-3中的1个字符、并且扩展名是 c 或 h 的文件

Linux 基本指令大全。(万字详解)_第20张图片

如何列出不带扩展名的文件呢?我需要借助grep。后面有详细讲解。

pwd指令

pwd显示当前路径。

 pwd -p 查看软链接的实际路径

cd指令

改变工作目录,将当前工作目录改变到指定的工作目录下。指定的工作目录可以是相对路径和绝对路径。

相对路径 在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置
绝对路径 在输入路径时,最前面是 / 或者 ~,表示从 根目录/家目录 开始的具体目录位置

~表示家目录,/表示根目录。

cd [绝对路径] 切换到指定的工作目录下

cd [相对路径] 切换到指定的工作目录下

Linux 基本指令大全。(万字详解)_第21张图片

cd ../ 切换到上级目录

加不加 最后的 “/” 无所谓。

Linux 基本指令大全。(万字详解)_第22张图片

cd ~ 返回到用户家目录。

普通用户到/home/zxf 。超级用户到/root

cd -  返回到最近一次访问的目录。

Linux 基本指令大全。(万字详解)_第23张图片

stat指令

以文字的格式来显示 inode 的内容。这里不仅可以查看普通文件也可也查看目录。

Linux 基本指令大全。(万字详解)_第24张图片

 我们可以看到这里有三种时间简单介绍一下这三个时间:

Access最近一次访问时间。

Modify最近一次内容修改时间。

Change最近一次改动(各种属性)时间。

一般Modify被修改,Change也会被修改,因为文件的大小也是文件属性的一种。Access并不是每一次访问都会修改,因为访问的次数要远远大于修改的次数。Linux认为这是一个负担,所有多次访问的时候才会去修改,或者多次访问后会被修改,一般也没人看这个访问时间。

touch指令

1,可以修改文件(普通文件和目录)的日期时间,包括取存时间和更改时间

2,新建一个普通文件。

touch [一个或者多个不存在的文件名]  创建普通文件。 

Linux 基本指令大全。(万字详解)_第25张图片

touch -c [普通文件或者目录名]: 避免创建新文件

如果文件已经存在了,直接修改访问时间和修改时间到当前时间。

如果文件不存在,就会避免创建新文件,不创建新文件。

Linux 基本指令大全。(万字详解)_第26张图片

touch [已经存在的文件或者目录]:更改文件的访问时间和修改时间。

将访问和修改时间更改为再次为“linuxmi”运行touch命令的时间

Linux 基本指令大全。(万字详解)_第27张图片

touch -a [已存在的文件或者目录] :仅更改此文件的访问时间.

显示访问时间已更改为我使用'-a'选项运行touch命令的时间

注意:这里虽然只是修改了 ,最后一次的访问时间,但是属性改变时间也被改变了,说明,最后一次访问时间也是文件属性。

Linux 基本指令大全。(万字详解)_第28张图片

 touch -m [已存在的文件] :显示修改时间已更改为使用'-m'选项运行touch命令的时间

注意:一般内容修改时间变了,属性修改时间也会跟着变。但是访问时间变不变不知道。不同的发行版可能不同。

Linux 基本指令大全。(万字详解)_第29张图片

mkdir指令

创建目录的指令

mkdir [目录名] 创建一个新目录

Linux 基本指令大全。(万字详解)_第30张图片

mkdir -p  runoob2/test  :也是创建目录。

注意:在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。

若 runoob2 目录原本不存在,则建立一个 runoob2。

Linux 基本指令大全。(万字详解)_第31张图片

rmdir指令

rmdir [目录名] 删除这个空目录

注意:只能删除空目录

Linux 基本指令大全。(万字详解)_第32张图片

rmdir -p dir1/dir11/dir111 递归删除目录

注意:dir1/dir11/dir111无其他普通文件,和mkdir相对应。

当 parent 子目录被删除后使它也成为空目录的话,则顺便一并删除

Linux 基本指令大全。(万字详解)_第33张图片

 注意:会停在有其他文件的目录。

Linux 基本指令大全。(万字详解)_第34张图片

rm指令

删除文件或者目录的指令。默认删除普通文件。

rm file 删除这个普通文件。

Linux 基本指令大全。(万字详解)_第35张图片

rm -r dir 深处目录及其目录下所有的文件。

Linux 基本指令大全。(万字详解)_第36张图片

rm -f file 强制删除普通文件

rm -rf dir 强制删除目录

以上略

rm -ir dir 删除每一个文件前询问是否删除。

Linux 基本指令大全。(万字详解)_第37张图片

man 指令

安装:sudo yum install -y man-pages  (安装man手册)

再Linux中有一个手册,存放这一些指令,系统调用接口的函数和C语言的库函数等等。手册一共八章。可以查询一些信息,帮助我们。

第一章:普通指令。

第二章:系统调用。

第三章:C语言的库。

...............(后面的不常用,就不赘述了)

man [指令或者函数] 查找该指令的信息(参数,选项等等)

进入一个页面

 q退出。

man -a [指令或者函数] 将所有章节的都显示出来。

缺省是从第一章开始搜索,按q不会退出而是继续向后搜索,直到全部显示完。

man 2 [指令或者函数] :在第二章搜索对应的指令或者函数。

cp指令

复制文件或者目录,命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖。

cp [源文件相对/绝对路径] 【目标目录】 :复制一个文件到指定目录。

Linux 基本指令大全。(万字详解)_第38张图片

cp  -a  [源文件相对/绝对路径] 【目标目录】:复制一个文件到指定目录。(并且时间保持一致)

Linux 基本指令大全。(万字详解)_第39张图片

cp  -f  强制拷贝

这里的和rm相同。

cp -i 拷贝前询问

覆盖前询问,没有覆盖别的文件就不询问。

Linux 基本指令大全。(万字详解)_第40张图片

cp -r [目录] 【目标目录下】将目录拷贝到另一个目录下。

Linux 基本指令大全。(万字详解)_第41张图片

mv指令

修改文件名称和移动文件(剪切)。

当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。

mv [文件名] [已存在的文件或者目录]:修改文件或者目录的名称。

Linux 基本指令大全。(万字详解)_第42张图片

mv file1  dir :将file文件剪切到目录

注意:这里dir必须是已经存在的目录。这里第一个参数可以是多个文件或者目录。

Linux 基本指令大全。(万字详解)_第43张图片

mv -f [file] [dir] :如果目标目录中已经存在file文件,则直接覆盖  。

mv -i [file] [dir] :如果目标目i录中已经存在file文件,询问是否覆盖。

mv * ../:移动当前文件夹下所有的文件到上级目录。

Linux 基本指令大全。(万字详解)_第44张图片

其他:

mv file ~ :将文件剪切到家目录。

mb ~/file  ./ :将家目录的文件剪切到当前目录。

cat 指令

查看目标文件内容

cat file 查看文件内容

Linux 基本指令大全。(万字详解)_第45张图片

cat -n file 查看文件并编号。

cat -b file 查看文件对非空行进行编号

Linux 基本指令大全。(万字详解)_第46张图片

cat -s file 不输出多行空行

Linux 基本指令大全。(万字详解)_第47张图片

tac //倒过来打印

Linux 基本指令大全。(万字详解)_第48张图片

cat > filename :从键盘新建一个文件。

只能创建新文件,不能编辑已有文件。 

Linux 基本指令大全。(万字详解)_第49张图片

cat file1 file2 > file 将几个文件合并为一个文件

Linux 基本指令大全。(万字详解)_第50张图片

cat -n file > file3 把file里面的内容加上行号输入到file3里面去。

cat -b file1 file2 > file   

把 file1和file2 的文件内容加上行号(空白行不加)之后将内容附加到 file里

Linux 基本指令大全。(万字详解)_第51张图片

more 指令

查看指定文件内容.

more  【指定文件】 :

功能类似于 cat, more 会以一页一页的显示方便使用者逐页阅读。

Enter    向下 n 行,需要定义。默认为 1 行
Ctrl+F   向下滚动一屏
空格键  向下滚动一屏
Ctrl+B  返回上一屏
=       输出当前行的行号
:f     输出文件名和当前行的行号
V      调用vi编辑器
!命令   调用Shell,并执行命令
q       退出more

more +3 file c从第三行开始显示

和上面相同。

ll | more -5  在所列出文件目录详细信息,借助管道使每次显示 5 行

按空格显示下 5 行

less 命令

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

-i  忽略搜索时的大小写
-N  显示每行的行号
-o  <文件名> 将less 输出的内容在指定文件中保存起来
-s  显示连续空行为一行
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
-x <数字> 将“tab”键显示为规定的数字空格
b  向后翻一页
d  向后翻半页
h  显示帮助界面
Q  退出less 命令
u  向前滚动半页
y  向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]:   向上翻动一页

head指令

head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。

head file  -n 20 或者 head -n 20 test  显示 file文件中前 20 行

Linux 基本指令大全。(万字详解)_第52张图片

head -c 20 file  显示 file 文件前 20 字节

tail指令

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

-f 循环读取(常用于查看递增的日志文件)
-n<行数> 显示行数(从后向前)

tail 10 file : 显示文件的后 10 行

Linux 基本指令大全。(万字详解)_第53张图片

which 命令

在 linux 要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

which     查看可执行文件的位置。
whereis 查看文件的位置。
locate  配合数据库查看文件位置。
find        实际搜寻硬盘查询文件名称。

which ls 查看ls可执行文件(指令)的位置。Linux 基本指令大全。(万字详解)_第54张图片

whereis 也是一个指令,有意向的可以去学一下。

find 指令

用于在文件树中查找文件,并作出相应的处理。

-name 按照文件名查找文件
-perm 按文件权限查找文件
-user 按文件属主查找文件
-group  按照文件所属的组来查找文件。
-type  查找某一类型的文件,诸如:
   b - 块设备文件
   d - 目录
   c - 字符设备文件
   l - 符号链接文件
   p - 管道文件
   f - 普通文件

-size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小
-amin n   查找系统中最后N分钟访问的文件
-atime n  查找系统中最后n*24小时访问的文件
-cmin n   查找系统中最后N分钟被改变文件状态的文件
-ctime n  查找系统中最后n*24小时被改变文件状态的文件
-mmin n   查找系统中最后N分钟被改变文件数据的文件
-mtime n  查找系统中最后n*24小时被改变文件数据的文件
(用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )
-maxdepth n 最大查找目录深度
-prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
-newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项

find -name filename  :按照文件名称来查找文件。

找到会返回找到文件的路径。

find -atime -2  查找 48 小时内修改过的文件

find ./ -name '*.log'  在当前目录查找 以 .log 结尾的文件。

find /opt -perm 777  查找 /opt 目录下 权限为 777 的文件


find -size +1000c  查找大于 1K 的文件

find -size 1000c 查找等于 1000 字符的文件

find . -type f -mtime +10 -exec rm -f {} \;

在当前目录中查找更改时间在10日以前的文件并删除它们(无提醒)

-exec 参数后面跟的是 command 命令,它的终止是以 ; 为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。

find . -name '*.log' mtime +5 -ok -exec rm {} \; 

当前目录中查找所有文件名以.log结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。 按y键删除文件,按n键不删除

find . -f -name 'passwd*' -exec grep "pkg" {} \;

当前目录下查找文件名以 passwd 开头,内容包含 "pkg" 字符的文件

find . -name '*.log' -exec cp {} test3 \; 用 exec 选项执行 cp 命令

找到以。log结尾的文件,复制到 test3 路径下。

find . -type f -print | xargs file

查找当前目录下每个普通文件,然后使用 xargs 来判断文件类型

-xargs find 命令把匹配到的文件传递给 xargs 命令,而 xargs 命令每次只获取一部分文件而不是全部,不像 -exec 选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

find . -type f -name "*.js" -exec grep -lF 'ueditor' {} \;
find -type f -name '*.js' | xargs grep -lF 'editor'

查找当前目录下所有以 js 结尾的并且其中包含 'editor' 字符的普通文件

find . -name "*.log" | xargs -i mv {} test4

利用 xargs 执行 mv 命令

grep 指令

在文件中搜索字符串,将找到的行打印  下来。

-A n --after-context显示匹配字符后n行
-B n --before-context显示匹配字符前n行
-C n --context 显示匹配字符前后n行
-c --count 计算符合样式的列数
-i 忽略大小写
-l 只列出文件内容符合指定的样式的文件名称
-f 从文件中读取关键词
-n 显示匹配内容的所在文件中行数
-R 递归查找文件夹
^  #锚定行的开始 如:'^grep'匹配所有以grep开头的行。 
$  #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。 
.  #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。  
*  #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
.*   #一起用代表任意字符。  
[]   #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。 
[^]  #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。  
\(..\)  #标记匹配字符,如'\(love\)',love被标记为1。   
\<      #锚定单词的开始,如:'\      #锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。
x\{m\}  #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。 
x\{m,\}  #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。  
x\{m,n\}  #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。  
\w    #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。  
\W    #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。  
\b    #单词锁定符,如: '\bgrep\b'只匹配grep。

grep  '字符串’ file 在file文件里面查找 字符串。

这个字符串可以不完全字符串。

grep -lR '^grep' /tmp

从文件夹中递归查找以grep开头的行,并只列出文件

grep '^[^x]' test.txt

查找非x开关的行内容

zip 指令

zip将目录或者文件压缩成  .zip 格式的文件。

安装:sudo yum install zip unzip

注意:在打包目录的时候 一定要加 -r 选项。默认只是打包这个目录。加 -r 后就是打包目录及其目录下的文件。

  • -A 调整可执行的自动解压缩文件。
  • -b<工作目录> 指定暂时存放文件的目录。
  • -c 替每个被压缩的文件加上注释。
  • -d 从压缩文件内删除指定的文件。
  • -D 压缩文件内不建立目录名称。
  • -f 更新现有的文件。
  • -F 尝试修复已损坏的压缩文件。
  • -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
  • -h 在线帮助。
  • -i<范本样式> 只压缩符合条件的文件。
  • -j 只保存文件名称及其内容,而不存放任何目录名称。
  • -J 删除压缩文件前面不必要的数据。
  • -k 使用MS-DOS兼容格式的文件名称。
  • -l 压缩文件时,把LF字符置换成LF+CR字符。
  • -ll 压缩文件时,把LF+CR字符置换成LF字符。
  • -L 显示版权信息。
  • -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
  • -n<字尾字符串> 不压缩具有特定字尾字符串的文件。
  • -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
  • -q 不显示指令执行过程。
  • -r 递归处理,将指定目录下的所有文件和子目录一并处理。
  • -S 包含系统和隐藏文件。
  • -t<日期时间> 把压缩文件的日期设成指定的日期。
  • -T 检查备份文件内的每个文件是否正确无误。
  • -u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
  • -v 显示指令执行过程或显示版本信息。
  • -V 保存VMS操作系统的文件属性。
  • -w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
  • -x<范本样式> 压缩时排除符合条件的文件。
  • -X 不保存额外的文件属性。
  • -y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
  • -z 替压缩文件加上注释。
  • -$ 保存第一个被压缩文件所在磁盘的卷册名称。
  • -<压缩效率> 压缩效率是一个介于1-9的数值。

zip test.zip test :将test文件压缩为test.zip

Linux 基本指令大全。(万字详解)_第55张图片

 zip -r dir1.zip dir1 :将目录dir1 压缩为 dir1.zip 

Linux 基本指令大全。(万字详解)_第56张图片

unzip 指令 

把压缩包解压缩到指定目录。

安装:sudo yum install zip unzip

  • -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
  • -f 更新现有的文件。
  • -l 显示压缩文件内所包含的文件。
  • -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
  • -t 检查压缩文件是否正确。
  • -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
  • -v 执行时显示详细的信息。
  • -z 仅显示压缩文件的备注文字。
  • -a 对文本文件进行必要的字符转换。
  • -b 不要对文本文件进行字符转换。
  • -C 压缩文件中的文件名称区分大小写。
  • -j 不处理压缩文件中原有的目录路径。
  • -L 将压缩文件中的全部文件名改为小写。
  • -M 将输出结果送到more程序处理。
  • -n 解压缩时不要覆盖原有的文件。
  • -o 不必先询问用户,unzip执行后覆盖原有文件。
  • -P<密码> 使用zip的密码选项。
  • -q 执行时不显示任何信息。
  • -s 将文件名中的空白字符转换为底线字符。
  • -V 保留VMS的文件版本信息。
  • -X 解压缩时同时回存文件原来的UID/GID。
  • [.zip文件] 指定.zip压缩文件。
  • [文件] 指定要处理.zip压缩文件中的哪些文件。
  • -d<目录> 指定文件解压缩后所要存储的目录。
  • -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
  • -Z unzip -Z等于执行zipinfo指令。

unzip test.zip 将文件或者目录解压到当前目录

Linux 基本指令大全。(万字详解)_第57张图片

 unzip test.zip  -d dir1/ 将test.zip压缩包解压缩的 dir1 目录下

Linux 基本指令大全。(万字详解)_第58张图片

cal 命令

可以用户显示公历(阳历)日历如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份:

-3 显示前一月,当前月,后一月三个月的日历
-m 显示星期一为第一列
-j 显示在当前年第几天
-y [year]显示当前年[year]份的日历

cal 11 2022 显示指定年月日期Linux 基本指令大全。(万字详解)_第59张图片

cal -y 2022  显示2013年每个月日历Linux 基本指令大全。(万字详解)_第60张图片

cal -3m 将星期一做为第一列,显示前中后三月

Linux 基本指令大全。(万字详解)_第61张图片

date 指令

显示或设定系统的日期与时间。

tar指令

打开/解包  不打开它查看内容。

-c :建立一个压缩文件的参数指令(create 的意思);

-x :解开一个压缩文件的参数指令!

-t :查看 tarfile 里面的文件!

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

-C : 解压到指定目录

tar -czf  my.tgz  [文件或者目录]  

把对应的文件或者目录压缩到 my.tgz中

Linux 基本指令大全。(万字详解)_第62张图片

tar -xzf my.tgz 

把my.tgz解压到当前文件夹。 

Linux 基本指令大全。(万字详解)_第63张图片

tar -tf my.tgz 

不解压缩,直接查看文件内容

bc指令

计算器,ctrl+c 退出

uname 指令 

获取电脑操作系统相关信息。

uname -a :列出全部信息。

[Tab],[ctrl]-c, [ctrl]-d 指令

[Tab]按键---具有『命令补全』和『档案补齐』的功能

[Ctrl]-c按键---让当前的程序『停掉』

[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可 以用来取代exit

shutdown [选项] ** :关机

** -h : 将系统的服务停掉后,立即关机。

-r : 在将系统的服务停掉之后就重新启动

-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

ctrl+r

搜索历史命令

lscpu

查看内存信息

lsmem

查看内存信息

df -h

查看磁盘信息

who

参看那些用户在线

whoami

当前用户是谁

top

查看cpu使用情况

netstat

查看网络连接

free

查看内存资源状态

df

查看磁盘分区资源状态

clear

清屏

stat 【文件名】

查看文件更加详细的信息

cat 

查看文件内容

echo

将信息显示到显示器的命令和printf差不多 可以格式化

nano

linux下的记事本

sort 【文件】

对指定文件每一行按照首元素进行排序

uniq 【文件】

去点重复的行只保留一行。

alias

对指令起别名

wc

统计行数,字节数----

whereis 字符

匹配搜索,搜索名字中存在该字符的文件都显示

你可能感兴趣的:(linux,服务器)