linux终端的18个基本命令

本文介绍了18个Linux常用命令,包括路径操作、文件管理、文本处理等,帮助读者快速掌握Linux的基本操作。
linux的18个快速命令
1.pwd 打印工作目录


2.hostname 电脑名称


3.mkdir 创建路径 
eg:
mkdir temp #生成当前位置文件夹
mkdir ~/temp2 #生成指定路径文件夹
mkdir -p temp1/temp2/temp3 #递归的生成目录,可以一次性生成一条路径


4.cd 更改路径(注意空格)
eg:
cd Users/mazeyu/ #去指定目录
cd .. #返回前一级目录
cd ../.. #返回前两级目录
cd ~ #返回根目录
cd mystuff #在当前目录下进入下一级文件夹
cd - #回到上一次所在的路径,重复使用会在两个路径间切换
ps:
在目录名后加一个斜杠/可以确认它是一个目录,如果不是,则会跳出错误信息。


5.ls 列出路径下的内容 ls [参数] [绝对路径]
eg:
ls #直接显示文件夹内容
ls -a #显示所有文件,包括隐藏文件
ls -clt #显示列表,并按最后改变时间排序
jerry:~ mazeyu$ ls -l
total 0
#文件属性     文件数    拥有者     所属group    文件大小     建档日期       文件名 
drwx------+   3     mazeyu       staff       96      4 30 23:33    Desktop
ls -cl #显示列表,并按文件名排序
ls -lR ~/temp #显示目标文件夹下的所有文件的详细信息,其中-R是指递归查找
ls -l t* #显示当前目录下文件名以t开头的所有文件的信息


6.rmdir 删除非空路径
eg:
rmdir ~/empty #删除绝对路径的空文件夹
q:
rmdir -p ~/empty/empty2 #不知道为什么用不了


7.pushd 推入路径 / popd 弹出路径 / dirs 查看栈
ps:
这是一条用于多个路径间快速切换的命令,用栈进行编辑。栈是一个根据最后使用情况进行相对位置排序的序列,比如现在栈中有三个路径A,B,C(每个路径可以很复杂),如果最后访问的是A,那么012位分别为ABC,接着如果访问了B,则012位变为BCA,若我接着访问A,则012位变为ABC。
现在pushd为将某路径添加入栈,popd为将某路径移除出栈,dirs为查看栈。参数+n即为从左往右数第n位,-n则为从右往左数第n位。
eg:
pushd ~/temp/temp1 #首先将第一个路径加入栈,同时目录转到A,称作A
pushd ~/empty/empty2/empty3 #将B加入路径,同时路径转为B,此时栈为BA
pushd ~/empty/empty2 #将C加入路径,同时路径转为C,此时栈为CBA
dirs #查看当前栈
pushd +1 #目录跳转到第1位(012),对应为B,此时栈为BAC
popd +2 #将第2位(012)推出栈,此时栈变为BA
dirs -c #将除了当前目录以外的栈中所有目录清除


8.touch 创建新文件或者将已存在文件的时间标签更新为系统当前的时间
eg:
touch iamcool.txt #在当前目录下创建一个iamcool.txt这样的文件
touch ~/ilikecode.txt #在指定目录下创建一个txt文件
touch iamcool.txt #当存在这个文件时我再次触发这条命令,则是修改了最后文件的标签,可以通过ls -l来观察到


9.cp 复制文件或路径
eg:
cp temp0.txt ./temp2 #将当前目录下的temp0.txt复制到当前目录下的temp2文件夹中
cp ./temp0.txt ./temp2/temp00.txt #将当前目录下的temp0.txt复制到当前目录下的temp2文件夹中,并命名为temp00.txt
cp -r ./temp2 ./temp1 #将当前目录下的temp2中的所有东西全部复制到temp1中
cp temp2/t*.txt ./temp1 #将当前目录下temp2文件夹中以t开头的txt文件全部复制到temp1文件夹中
cp -i temp0.txt ./temp1 #将当前目录下的temp0.txt文件复制到temp2文件中,特别的,如果目标文件夹中已经有temp0.txt文件,则会询问是否覆盖


10.mv 移动文件或路径或者改名
eg:
mv ./temp2/* . #将temp2里面的所有文件都移动到当前目录下
mv ./temp1/temp0.txt ./new1 #将temp1文件夹中的temp0.txt文件夹改名为new1,并放到当前目录中


11.| 管道命令
ps:
假设A|B,代表着先执行A,但是结果不输出,将结果作为B的输入,执行B,并输出结果。
eg:
ls -a | grep mysql #先显示所有的文件,然后再用grep命令在ls的结果中查找包含mysql的文件


12.more 查看文件内容
eg:
more mystuff/terminal_0.txt #打开mystuff文件夹的terminal_0.txt的内容
more +10 mystuff/terminal_0.txt #从第10行开始打开此文件


13.less 查看文件内容,但不在命令行输出,在新建的页面输出,输出后按q即可
eg:
less mystuff/terminal_0.txt #输出制定路径的文件内容
less -f mystuff/terminal_0.txt #强制打开特殊文件(包括目录,二进制文件等)
-m #显示阅读百分比
-N #显示行号
q:
less terminal_0.txt lab.txt #这时不知道怎么看到下一个文件


14.echo 打印内容和写入文件
eg:
echo i am handsome #在bash中打印“i am handsome"字样
echo i like basketball > lab.txt #将“i like basketball"字样写入lab.txt中,若没有此文件则创建
echo i like code >> lab.txt #不改变原来lab中的内容,只在lab.txt中添加i like code字样
-e #代表转义字符有效,此时可以加入各类转义字符
\b 表示删除前面的空格 
\n 表示换行 
\t 表示水平制表符 
\v 表示垂直制表符 
\c \c后面的字符将不会输出,同时,输出完成后也不会换行 
\r 输出回车符(但是你会发现\r前面的字符没有了) 
\a 表示输出一个警告声音


15.xargs 参数的分配(应用于不能用管道的命令)
q1:为什么要使用xargs?
管道实现的是将前面的stdout作为后面的stdin,但是有些命令不接受管道的传递方式,最常见的就是ls命令。有些时候命令希望管道传递的是参数,但是直接用管道有时无法传递到命令的参数位,这时候需要xargs,xargs实现的是将管道传输过来的stdin进行处理然后传递到命令的参数位上。也就是说xargs完成了两个行为:处理管道传输过来的stdin;将处理后的传递到正确的位置上。
eg1:


16.find 根据需要寻找文件
eg:
find ./mystuff #寻找到mystuff文件夹中所有的文件并输出
find . -name "l*.txt" #寻找当前目录下以l开头的txt文档,注意这是一个递归查找命令
find . -iname "l*.TXT“ #遇上一行命令不同在于忽略大小写
find . -maxdepth 1 -name l* #限制查找的深度为1
find . -not -name "l*" #反向查找,找出名称不是l开头的文件,同时-not也可以用!代替
find . -name "l*" -not -name "*txt" #同时搜索多个指标的文件,本例查找目标文件夹内l开头但不是txt的文件
find . -type f #只寻找文件
find . -type d #只寻找目录
find . ./temp -type f #同时寻找两个文件夹中的内容
find . -user jerry #寻找用户jerry的文件
find . -type d -empty #寻找空文件夹


17.exec 调用命令但不新创建进程,使得两种命令可以同时进行
ps:
一般来说此命令和别的命令连用,举例来说和find连用。
eg:
find ./ -name "*.txt" -exec ls -l "{}" \; #首先执行find命令,将后缀为txt的文件全部找出,然后同时运行ls命令,这就需要exec去搭建一个桥梁,exec接命令,因为有的命令不一样长短,所以必须以分号结束,同时因为分号的在不同系统中不同意义所以我们要加一个反斜杠\表示下面的分号为终止的意思;{}代表前面查找出来的文件名
find ./ -name "*.txt" -exec mv "{}" "{}d" \; #将所有txt文件找出并将后缀改为txtd


18.grep 在文件中查找内容
-a 不要忽略二进制数据。
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算符合范本样式的列数。
-C<显示列数>或-<显示列数>  除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分。
eg:
grep "magic" ./iamcool.txt | less #综合命令,首先查找iamcool文件中的magic字样,这里加引号是因为若有空格也可以一起搜索,同时把搜索到的字样通过管道放到less的参数中,那么也就是说用less命令进行查看













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值