一、Linux基础命令
cmd
终端叫做cmd
command [-options] [parameter]
command 命令本身
-options 命令的选项,可以控制命令的行为细节
-parameter 命令的参数,用于命令的指向目标
ls命令
ls [-options][linux路径]
ls[-a -l -h]
- -h 易于阅读的形式,列出文件大小(G,M,K)需要配合-l来使用
- -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
- -d 只列出目录(不递归列出目录内的文件)。
- -l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。
- -r 倒序显示文件和目录。
- -t 将按照修改时间排序,最新的文件在最前面。
- -A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
- -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
- -R 递归显示目录中的所有文件和子目录。
通配符 | 含义 |
---|---|
* | 代表任意个数的字符 |
? | 代表任意一个字符 |
[] | 匹配字符组的任意一个 |
[a,b,c] | 匹配a、b、c、的任意一个 |
[a-f] | 匹配a-f范围内的任意一个 |
cd命令
cd 切换工作目录
Cd 的英文 change directory
cd [Lunix路径]
cd无需选项,只有参数,表示切换到哪个目录,
不写参数,回到home目录
pwd命令
pwd全称print work directory
显示当前工作目录的绝对路径
无选项,无参数!直接使用
特殊路径符号
. 表示当前目录
… 表示上一级目录
~表示home目录
Mkdir命令
mkdir 英文 make directory
mkdir [-p] linux路径
- -p 自动创建不存在的父目录
- -v 为每个新建的目录打印一条信息
示例:创建新的文件夹test
mkdir test
Touch命令
如果文件不存在,则创建新的文件;如果文件存在,则修改文件的修改日期
touch linux路径
有参数,参数就是路径
-
-a, 只更改访问时间
-
-c, 如果文件不存在,就不创建。
-
-d, 更新访问和修改时间
-
-m, 只更改修改时间
-
-r, 使用文件的访问和修改时间
-
-t, 使用指定的时间创建文件
示例:创建文件test_file
touch test_file
cat命令
cat [OPTION] [FILE]...
Cat 查看文件内容
1.显示文件内容
在下面的示例中,它将显示/ etc / passwd文件的内容。
cat /etc/passwd
2.在终端中查看多个文件的内容
在下面的示例中,它将在终端中显示test和test1文件的内容
# cat test test1
3.使用Cat命令创建文件
我们将使用以下命令创建一个名为test2文件的文件。
#cat >test2
等待用户输入,键入所需的文本,然后按CTRL + D(按住Ctrl键并键入“ d ”)退出。文本将写入test2文件中。您可以使用以下cat命令查看文件的内容。
# cat test2
4.将Cat命令与更多或更少的选项一起使用
如果具有大量内容的文件无法容纳在输出终端中,并且屏幕快速滚动,则可以通过cat命令使用越来越多的参数,如上所示。
# cat song.txt | more
# cat song.txt | less
5.在文件中显示行号
使用-n选项,您可以在输出终端中看到文件song.txt的行号。
# cat -n song.txt
6.在文件末尾显示$
在下面,您可以使用-e选项看到’ $ ‘出现在行尾,如果各段之间有间隙,则显示’ $ '。此选项对于将多行压缩为一行很有用。
cat -e test
7.在文件中显示制表符分隔的行
在下面的输出中,我们可以看到TAB空间被’ ^ I '字符填充。
# cat -T test
8.一次显示多个文件
在下面的示例中,我们有三个文件test,test1和test2,并且能够查看这些文件的内容,如上所示。我们需要用;分隔每个文件;(半冒号)。
# cat test; cat test1; cat test2
9.将标准输出与重定向运算符一起使用
我们可以将文件的标准输出重定向到新文件,或者使用’ > '(大于)符号将其重新存在。小心,test1的现有内容将被测试文件的内容覆盖。
# cat test > test1
10.使用重定向运算符附加标准输出
在现有文件中附加’ >> '(大于1的符号)。这里,测试文件的内容将附加在test1文件的末尾。
# cat test >> test1
11.使用重定向运算符重定向标准输入
当您将重定向与标准输入’ < '(小于符号)一起使用时,它将文件名test2用作命令的输入,并且输出将显示在终端中。
cat < test2
12.重定向单个文件中包含的多个文件
这将创建一个名为test3的文件,所有输出都将重定向到新创建的文件中。
# cat test test1 test2 > test3
13.在单个文件中对多个文件的内容进行排序
这将创建一个文件test4,并将cat命令的输出通过管道传递到进行排序,结果将重定向到新创建的文件中。
# cat test test1 test2 test3 | sort > test4
More 命令
Cat全部展示
More支持翻页,文件内容过多,可以一页页的展示
cp命令
Cp复制文件夹
Cp [-r] 参数1 参数2
-r 用于复制文件夹表示递归
参数1复制的文件路径
参数2去的地方
Mv命令
Mv 参数1 参数2
参数1 移动的文件或者文件夹
参数2 表示移动的地方
有/就是移动
没有/就是重命名
Rm命令
删除文件
Rm [-r -f] 参数1
-r用于删除文件夹
-f表示强制删除
Rm删除支持通配符,可以匹配任何内容
Test* #表示匹配任何以test开头的内容
*test #表示匹配任何test结尾的内容
*test* #表示匹配任何包括test的内容
Which命令
Which 要查找的命令
- -n 指定文件名长度指定的长度必须大于或等于所有文件中最长的文件名。
- -p 与-n参数相同但此处的包括了文件的路径。
- -a 将PATH目录中可以找到指令均列出不止第一个而已。
- -w 指定输出时栏位的宽度。
- -V 显示版本信息
Find命令
查找指定文件
Find 起始路径 -name “查找的文件名”
Test*表示匹配任何以test开头的内容
*test表示匹配任何test结尾的内容
test表示匹配任何包括test的内容
-name filename #查找名为filename的文件
-perm #按执行权限来查找
-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天以前
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size n[c] #查长度为n块[或n字节]的文件
-mount #查文件时不跨越文件系统mount点
-follow #如果遇到符号链接文件,就跟踪链接所指的文件
-prune #忽略某个目录
Find 起始路径 -size +|-n[kMG]
+、-表示大于和小于
n表示大小数字
kMG表示大小单位,k表示KB,M表示MB,G表示GB
示例:查找小于10KB的文件: find / -size -10k
Grep命令
可以通过grep命令,从文件中通过关键字过滤文件行
grep [-n] 关键字 文件路径
选项-n,可选,表示在结果中显示匹配的行的行号
参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
wc命令做数量统计
可以通过wc命令统计文件的行数、单词数量等
wc [-c -m -1 -w] 文件路径
选项,-C,统计bytes数量
选项,-m,统计字符数量
选项,-l,统计行数
选项,-w,统计单词数量
参数,文件路径,被统计的文件,可作为内容输入端口
管道符
| 左边的结果给右边
Echo命令
可以使用echo命令在命令行内输出指定内容
echo 输出的内容
无需选项,只有一个参数,表示要输出的内容,复杂内容可以用””包围
反引号
被`包围的内容,会被作为命令执行,而并非普通字符,配合echo使用
重定向符
我们再来学习两个特殊符号,重定向符:>和>>
> #将左侧命令的结果,覆盖写入到符号右侧指定的文件中
>> #将左侧命令的结果,追加写入到符号右侧指定的文件中
tail命令
使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改,
tail [-f -num] Linux路径
参数,Linux路径,表示被跟踪的文件路径
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c <数目> 显示的字节数
-n <行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q --quiet --silent 从不输出给出文件名的首部
-s --sleep -interval=S 与-f合用,表示在每次反复的间隔休眠S秒
-num 表示,查看尾部多少行,不填默认10行
vi编辑器
插入(编辑)模式
a:在当前光标下一位开始编辑
A:在当前光标所在行行尾开始编辑
i:在当前光标开始编辑
I:在当前光标所在行行首开始编辑
o:在当前光标的下一行开始编辑
O:在当前光标的上一行开始编辑
常用的底行模式下的命令如下:
:set nu 显示行号
:set nonu 取消显示行号
:q 只退出,不保存
:wq 保存退出
:q! 强制退出
:wq! 强制保存退出
:%s/old/new 将old替换成new
:/string 查找字符串
:n 定位到n行(n指数字)
命令模式下的快捷键
dd 删除(剪切)光标所在行整行
ndd 删除光标所在行起向下n行(5dd,删除5行)
yy 复制光标所在行
nyy 复制光标所在行向下n行
p 粘贴 复制或剪切的内容(粘贴到下一行)
x 向后删除当前光标所在字符
X 向前删除当前光标所在字符
gg 把光标跳转到本文件的第一行
G 把光标跳转到本文件的最后一行
Shift+^ (shift+6) 把光标跳转到所在行的行首
shift+$ (shift+4) 把光标跳转到所在行的行尾
u 撤销,返回上一步
r 替换当前光标所在位置(一个字母)
R 向后连续替换
快捷键
Ctrl + a :移到行首
Ctrl + e :移到行尾
Ctrl+L:一键清屏(向上隐藏)
Clear:清屏(上面无内容)
Ctrl+u:删除光标所在行
Ctrl+d:向后删除光标所在位置字符
Ctrl+c:终止当前任务(执行的命令)
Ctrl+z:将任务挂起,放入后台