把前几天更新的linux的常用命令汇总在了一起,便捷你们查看。linux常用命令如下:
cd
首先我们先介绍最简单,也是我最常用的命令之一,cd命令。
##进入用户家目录
cd
cd ~
##查看目录的路径
pwd
假如想要步入某特定路径
#进入某特定目录
cd Desktop/test
##查看当前路径
pwd
想要步入下层目录
#进入上层目录
cd ../
##查看当前目录
pwd
想要步入跟目录下一层的某目录
##进入用户家目录的下一层Downloads目录,其中~表示用户家目录
cd ~/Downloads/
##查看当前目录
pwd
cd命令的常用用法也就如此多了,欢迎补充。
刚接触的时侯会比较难,但用多了以后这种都是很简单的,关键是熟能生巧linux 内核,多加使用。
ls
假如想要查看某个目录下的文件有什么,可以用ls命令,基本用法如下:
ls 目录
其实在ls也是有好多参数的,具体参数以及参数表示的意思如下:
-a:全部的文件,连同隐藏的文件( 开头为 . 的文件) 一起列出来~
-A :全部的文件,连同隐藏档,但不包括 . 与 .. 这两个目录,一起列出来~
-d :仅列出目录本身,而不是列出目录内的文件数据
-f :直接列出结果,而不进行排序 (ls 预设会以档名排序!)
-F :根据文件、目录等信息,给予附加数据结构,例如:
*:代表可执行档;/:代表目录;=:代表 socket 档案;|:代表 FIFO 档案;
-h :将文件容量以人类较易读的方式(例如 GB, KB 等等)列出来;
-i :列出 inode 位置,而非列出文件属性;
-l :长数据串行出,包含文件的属性等等数据;
-n :列出 UID 与 GID 而非使用者与群组的名称 (UID与GID会在账号管理提到!)
-r :将排序结果反向输出,例如:原本文件名由小到大,反向则为由大到小;
-R :连同子目录内容一起列出来;
-S :以文件容量大小排序!
-t :依时间排序
--color=never :不要依据文件特性给予颜色显示;
--color=always :显示颜色
--color=auto :让系统自行依据设定来判断是否给予颜色
--full-time :以完整时间模式 (包含年、月、日、时、分) 输出
--time={atime,ctime} :输出 access 时间或 改变权限属性时间 (ctime)
而非内容变更时间 (modification time)
具体的你们可以在自己笔记本上试着操作一下,操作的觉得和看的觉得是完全不一样的,操作着操作着,你就入门了。
cp
cp命令,表示复制的意思,参数如下:
-a:将文件的特点一起复制
-p:连同文件的属性一起复制,而非使用默认形式,与-a相像,常用于备份
-i:若目标文件早已存在时,在覆盖时会先寻问操作的进行
-r:递归持续复制,用于目录的复制行为
-u:目标文件与源文件有差别时才能复制
具体使用方式:
cp A B
A表示须要被复制的文件或则文件夹
B表示复制成的文件或则文件夹
rm
rm命令为remove的缩写,作用是删掉,参数:
-f:就是force的意思,忽视不存在的文件,不会出现警告消息
-i:互动模式,在删掉前会寻问用户是否操作
-r:递归删掉,最常用于目录删掉,它是一个十分危险的参数
常用用法:
rm A
假如想把整个当前目录下的所有文件都删去,那就用以下用法
rm -rf *
其实,这些删掉方式一定要慎用慎用慎用!!
mv
mv,move的简写,mv命令作用是拿来联通文件:
-f:force强制的意思linux命令grep颜色显示,假如目标文件早已存在,不会寻问而直接覆盖
-i:若目标文件早已存在,还会寻问是否覆盖
-u:若目标文件早已存在,且比目标文件新,才能更新
常用用法:
mv A B
翻译成英文就是把A弄成B.
其中A为待联通的文件或则文件夹
B为联通后的文件或则文件夹
在cp的区别是,cp后A还在,而mv后A就不存在了
cat
查看文件时极少用到过,它用于查看一个文件的内容并将内容全部显示在屏幕上,文件大时在显示屏上看不下来啥,所以我不常用于查看文件。
cat test.txt
more
more也是一个查看文件的命令,当一个文件内容较多,一屏不能全部展示时,用cat看不了上面的内容,但more可以解决这个问题。当看完一整屏内容后,用空格或则回车键可以继续看下一部份内容。假如想要提早退出直接按“q”
more test.txt
less
less也是一个查看文件的命令,和more相比,它可以实现上翻和下翻,我最比较常用的是less前面加-S参数,可以把一行内容展示在一行。哪些叫一行内容展示在一行呢?当没有-S时,less命令为了让读者能看见所有内容,假如一行的内容超过显示屏的长度,less会在下一行继续显示,看上去会比较乱,而less-S会把一行内容放到屏幕的一行,前面在整个屏幕显示不了的内容被隐藏上去linux命令grep颜色显示,当我们用右翻时可以出现在屏幕上。这个命令是我用的比较多的文件查看命令之一。
less test.txt
less -S test.txt
head
head也是我用的比较多的文件查看命令之一。当我们只想看前n行文件时可以用head-nfinename,即可把前n行文件展示在屏幕上。
head test.txt ##输出test.txt的前10行,当没有-n时head默认是10行
head -5 test.txt ##输出test.txt的前5行
tail
tail也比较常用,但没有head用的多,tail-nfilename可以拿来显示文件的后n行。
tail test.txt ##输出test.txt的最后10行,当没有-n时tail默认也是10行
tail -5 test.txt ##输出test.txt的后5行
vi的使用
基本上vi/vim共分为三种模式,分别是命令模式(Commandmode),编辑模式(Insertmode)和尾行模式(Lastlinemode)。这三种模式的作用分别是:
命令模式:
用户启动vi/vim,便步入了命令模式。
以下是步入命令模式常用的几个命令:
i切换到输入模式,以输入字符。
x删掉当前光标所在处的字符。
:切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vimlinux是什么,步入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因而仍要借助底线命令模式输入更多命令。
编辑模式
在命令模式下按下i就步入了输入模式。
输入模式基本和其他编辑器一样。
ESC,退出输入模式,切换到命令模式
尾行命令模式
在命令模式下按下:(英语引号)就步入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令十分多。
在底线命令模式中,基本的命令有(早已省略了逗号):
q退出程序
w保存文件
按ESC键可随时退出底线命令模式。
添加多行注释的方式:
1.步入vi/vim编辑器,按CTRL+V步入可视化模式(VISUALBLOCK)
2.联通光标上移或则下移,选中多行的开头
3.选择完毕后,按小写的的I键,此时下方会提示步入“insert”模式,输入你要插入的注释符,比如#
4.最后按ESC键,你都会发觉多行代码早已被注释了
删掉多行注释的方式:
Ctrl+v步入列选择模式,移到光标把注释符选中,按下d,注释就被删掉了。
cut
cut拿来截取数组,其格式为:
cut -d '分隔符' -f n
其中-d后跟随分隔符
-c后跟随是第几个字符
-f后跟随是第几个字符串
其中test.txt文件内容为:
hello world!
当我想要截取第一个字符串时
cut -d" " -f1 test.txt
返回值为
hello
而当我想要输出两个字符串时
cut -d" " -f1,2 test.txt
最终的输出则为
hello world!
sort
sort命令是拿来做排序的命令。sort可针对文本文件的内容,以行为单位来排序。
sort [-bcdfimMnr][-o][-t][+-][--help][--verison][文件]
从反例中来看,其中a.txt的文件内容为:
2
1
4
5
11
22
我们对其进行排序。
sort a.txt
我们发觉输出为
1
11
2
22
4
5
而当我们用
sort -n a.txt
则是根据数字大小排序,输出结果为:
1
2
4
5
11
22
当我们想要按数字大小升序排序时,
sort -rn a.txt
输出为:
22
11
5
4
2
1
uniq
Linuxuniq命令用于检测及删掉文本文件中重复出现的行列,通常与sort命令结合使用。
uniq可检测文本文件中重复出现的行列。
我们的测试文件b.txt内容如下:
1
3
1
2
3
5
上面有重复的行,我们想要把重复的行去除。
假如直接
uniq b.txt
输出并没有发生任何变化,还是和b.txt一样。为何呢?
由于uniq只能对挨到的两行做去重,所以在我们做uniq之前须要先sort
sort b.txt|uniq
输出则为去重后的结果
1
2
3
5
grep
grep的一些常用参数如下:
-n 打印行号
grep -n ".*" h.txt 所有打印行号
grep -n "root" h.txt 匹配的内容显示行号
-v 不包括
-E 表示过滤 多个参数
grep -Ev "sshd|network|crond|sysstat|"
-o:仅打印你需要的东西,默认打印正行
grep -o "hello" h.txt
-i:忽略大小写
grep -i "hello" h.txt
-c: 用于统计文中出现的次数
-A:后面紧跟一数字,如-A1表示打印出符合要求的行及其下一行
-B:后面紧跟一数字,如-B1表示打印出符合要求的行及其上一行
-C:后面紧跟一数字,如-C1表示打印出符合要求的行及其上下各一行
linux中的一些正则用法,也是明天用到的。
^ #锚定行的开始 如:'^samp'匹配所有以sam开头的行。
$ #锚定行的结束 如:'sam$'匹配所有以sam结尾的行。
. #匹配一个非换行符的字符 如:'s.m'匹配sXm,其中X为任意一个字符。
.* #代表任意字符。
举例来看。
我们的test.txt文件内的内容为:
hello world!
world hello!
hello nihao!
gui tt!
当我们想要找到hello开头的行时:
grep "^hello" test.txt
最终的输出为
hello world!
hello nihao!
当我们只想要不含hello的行时
grep -v "hello" test.txt
最终输出为:
gui tt!
当我们既想要以hello开头同时又富含world的行时:
grep "^hello" test.txt|grep "world"
最终的输出为:
hello world!
当我们想要富含nihao及其上下各一行时:
grep -C1 "nihao" test.txt
最终输出为
world hello!
hello nihao!
gui tt!
sed
明天要给你们介绍的sed命令,除了可以对文件做查找,但是也可以对文件做替换操作。
其中test.txt文件内容和今天的一样:
hello world!
world hello!
hello nihao!
gui tt!
1.用sed复印行:
sed -n 'n'p filename ##单引号n是一个数字,表示第几行
输出test.txt文件的第二行,示例代码如下:
sed -n '2'p test.txt
最终的输出为:
world hello!
2.复印包含某个字符串的行
输出富含“hello”字符串的行
sed -n '/hello/'p test.txt
最终结果为:
hello world!
world hello!
hello nihao!
3.删掉某行或多行
删掉test.txt的第一行的代码如下:
sed '1'd test.txt
最终输出为:
world hello!
hello nihao!
gui tt!
删掉1-3行
sed '1,3'd test.txt
最终输出为:
gui tt!
4.替换字符或字符串
把test.txt文件中所有的hello替换为test
sed 's/hello/test/g' test.txt
最终输出为:
test world!
world test!
test nihao!
gui tt!
awk
awk的功能十分特别的强悍,对于初学者来说,只须要能处理工作中的问题即可,因而给你们介绍比较常见的awk应用。
同样的test.txt文件。
hello world!
world hello!
hello nihao!
gui tt!
1.用awk截取文件的某一个数组
假如我们只想要文件的第一个数组,则可以:
awk -F"t" '{print $1}' test.txt
最终的输出结果为:
hello
world
hello
gui
其中-F的作用是指示分隔符,$1表示第一个数组,$2表示第二个数组,依次类推。
2.用awk匹配字符或则字符串
输出富含hello的行
awk '/hello/' test.txt
最终输出为:
hello world!
world hello!
hello nihao!
3.条件操作符
输出第一个数组为hello的行
awk -F"t" '$1=="hello"' test.txt
最终输出为:
hello world!
hello nihao!
4.外置变量
awk常用的变量有NF和NR,其中NF表示用分隔符分隔后一共有多少个数组,而NR则表示行号。
awk -F"t" '{print NF}' test.txt
最终输出为:
2
2
2
2
表示每一行都有2段。
awk -F"t" '{print NR}' test.txt
最终的输出为(表示每一行的行号):
1
2
3
4
这就是linux的一些常用命令,练习上去吧。
添加作者陌陌,请标明单位姓名
认为本文好看,请点这儿↓