Linux 宝典

目录

根目录/
当前目录     .可以使用./xxx 来表示当前目录下的xxx文件
上级目录     ..可以使用../xxx 来表示上级目录下的xxx文件
默认工作目录~cd ~ 回到工作目录

注意: 每一个Linux用户都存在一个默认的工作目录,目录为/home/用户名,例如用户test,则它的目录为/home/test, 但是root用户不同,工作目录为/root

命令

       

ls

查看目录

参数:

        -a       :        查看全部文件,包含隐藏文件(.开头)

        -l        :        以列表形式展示   

        -h       :        以l同时使用,将文件大小转化为带有单位的

pwdprint work directory 打印当前工作目录
cd移动工作目录
mkdir

创建文件夹

参数:

        -p        :        创建多级目录

touch    

创建文件

eg:        touch test.txt

cat

查看文件内容,一次性加载全部内容展示

eg:        cat test.txt

more

分屏查看文件内容,以分页的形式展示

操作:

        空格键        :        向下翻页

        b                 :        向上翻页

        回车键        :        下一行

        =                 :        显示当前行号

        q                 :        退出

less

分屏查看文件内容,可以查询关键字

操作:

        翻页            :        pageUp, pageDown, 空格键

        /字符串        :        向下搜索,n下一个,N上一个

        ?字符串       :        向上搜索,n下一个,N上一个

head  

查看文件头部内容

参数:

        -n        :        显示头部的前几行内容,默认是10行

eg:        head -n 2 xxx.txt

tail

查看文件尾部内容

语法:        tail [参数] 文件路径

参数:

        -f         :        持续跟踪

        -n        :        显示尾部的后几行内容,默认是10行

cp

复制

eg:        cp test.txt test1.txt

参数:

        -r        :        复制文件夹,递归复制

mv

移动        文件或文件夹

eg: mv test.txt ./desktop 

         将文件test.txt移动到当前目录的desktop文件夹中

mv test.txt test1.txt

        将test.txt重命名为test1.txt

rm

删除

参数:

        -r        :        删除文件夹,递归删除

        -f        :        强制删除,当登录用户为root,使用rm命令都会提示确认提醒,添加-f后,则不提示直接删除

支持通配符:

        *        :        表示所有文件, rm -rf *

        *test  :        表示文件名以test结尾的所有文件

        test*  :        表示文件名以test开头的所有文件

        *test*:         表示文件名包含test的所有文件

which

查找命令的文件位置

eg:        which cd

find

查找文件位置

语法:        find [起始位置] [参数]

参数:

        -name        :        按照文件名查找,可以使用通配符

 find / -name *test*     从根目录向下查找文件名包含test的所有文件 

        -user        :        按照文件的创建用户查找

        -size        :        按照文件大小查找

                参数:

                        -|+        -表示小于,+表示大雨1

                        n           文件大小

                        kMG      大小单位 kb,MB,GB

find / -size -10k        从根目录向下查找文件大小小于10k的所有文件

find / -size +10M      从根目录向下查找文件大小大于10M的所有文件

locate

查找文件位置,Linux内部有一个locate映射数据库,数据不是事实更新的,所以使用locate前,最好先执行updatedb命令,更新locate数据库

语法:        locate 文件名

grep

通过关键字过滤文件中的行

语法:        grep [参数] 关键字 文件路径

参数:

        -n        :        在结果中显示行号

        -i         :        忽略大小写

        -m       :        最大匹配的行数,-m 2 只显示匹配大前2行

        关键字 :        推荐使用双引号包裹

        文件路径:      过滤内容的文件路径,也可以是管道的输入

wc

统计文件的行数,单词数,字节数,字符数

语法:        wc [参数] 文件路径

参数:

        -c        :        字节数

        -m       :        字符数

        -l         :        行数

        -w       :        单词数        

        文件路径:      内容的文件路径,也可以是管道的输入

|管道,管道将左边命令的结果,作为右边命令的输入
echo

在命令行打印指定内容

语法:        echo "内容"

`反引号

被`包裹的内容,会被作为命令执行,而非普通字符

eg:        echo "当前的工作目录为:`pwd`"

>

将左侧命令的结果,覆盖写入到右侧指定文件内

eg:        echo "123" > test.txt

>>

将左侧命令的结果,追加写入到右侧指定文件内

eg:        echo "123" >> test.txt

man

命令的帮助文档

eg:        man ls

help    

bash内容指令的帮助文档

eg:        help cd

--help命令的帮助文档

VI / VIM

linux中的文本编辑器,vim是vi的加强版,兼容VI的所有命令,并且还具有shell程序的编程功能,可以使用不同的颜色来标记语法的正确性。

语法:        vi / vim 文件 文件存在则是修改,不存在则是创建文件并修改

模式:

命令模式敲击的按键被理解为命令,执行命令功能
输入模式对内容自由编辑

命令模式的快捷键:

i当前光标位置进入输入模式
a当前光标位置之后进入输入模式
I当前行开头位置进入输入模式
A当前行结尾位置进入输入模式
o当前光标的下一行进入输入模式
O当前光标上一行进入输入模式
0        或       ^移动光标到当前行的开头
$移动光标到当前行的结尾
pageUp向上翻页
pageDown向下翻页
/进入搜索模式
n搜索到内容后,向下继续搜索
N搜索到内容后,向上继续搜索
dd删除光标所在的行
nddn为数字,删除当前光标向下n行
yy复制光标所在的行
nyyn为数字,复制当前光标向下n行
p粘贴
u撤销修改
ctrl + r反向撤销修改
gg跳到首行
G跳到最后一行
dG从当前行开始向下全部删除
dgg从当前行开始向上全部删除
d$从当前光标删除到本行结尾
d0从当前光标删除到本行首
w光标跳转到下一个单词
b光标跳转到上一个单词
dw删除一个单词
:wq保存退出
:q仅退出
:w仅保存
:q!强制退出
:set nu显示行号

输入模式:

ESC退出输入模式,进入命令模式

字符串操作

替换

sed        :        内容替换

语法:        sed [参数] 'express' 文件路径

参数:

        

-e表示表达式,可以省略,不会再目标文件中生效,只是在控制台打印
-i在目标文件中生效
-f读取文件,按照文件内的表示进行操作

express举例:

"1i\a new line"表达式中用\进行分割,1表示第一行,i表示insert,\右边表示要插入的内容
"4a\a new line"表达式中用\进行分割,4表示第四行,a表示之后插入,\右边表示要插入的内容
"4d"4表示第四行,d表示删除
"4c\line"表达式中用\进行分割,4表示第四行,c表示覆盖,\右边表示要覆盖的内容
"1s/old/new"这里使用/进行分割,1代表第一行,s代表正则表达式匹配,old表示需要被替换的内容,new为替换的内容,只会匹配第一行的第一个old替换成new
"1s/old/new/g"/g表示全部替换,会将第一行的所有old替换成new
"s/old/new"匹配所有包含old的行,只将行中第一个old替换成new
"s/old/new/g"匹配所有包含old的行,将行中所有old替换成new

分割

cut        :        切割,裁剪,按照默写字符进行分割后,获取某列的值

语法:       cut [参数] 文件路径

参数:

-d分隔符,按照指定的分隔符分割内容,默认是制表符"\t"
-f列号,获取第几列

例子:

echo "Hello my world, it is amazing" | cut -d " " -f 1

        按照空格进行分割后,取第一列,结果为Hello

echo "Hello my world, it is amazing" | cut -d " " -f -3

        按照空格进行分割后,取1到3列,结果为Hello my world,

echo "Hello my world, it is amazing" | cut -d " " -f 3-

        按照空格进行分割后,取3列到最后一列,结果为world, it is amazing

awk        :        分割,按照某些字符进行分割后,获取分割后的值

语法:        awk [参数] '/pattern1/ {action1} /pattern2/ {action2}' 文件路径

参数:

-F指定分隔符,默认空格
-v指定变量,可以在action中使用
pattern表示在数据中需要查找的内容,可以包含正在表达式
action再找到匹配的行后,对其进行分割后,执行的一系列命令

内容变量:

FILENAME文件名
NR行号
NF列的个数

例子:

awk '\Hao\ {print $1}' 1.txt

        从1.txt中查找哈有Hao的行,找到后使用空格进行分割,打印第一列的值

awk -F ":" '\Hao\ {print $1","$3}' 1.txt

        从1.txt中查找哈有Hao的行,找到后使用:进行分割,打印第一列和第三列,使用,拼接

awk '\Hao\ {print "文件名:"FILENAME",行号:"NR",列数:"NF}' 1.txt

        从1.txt中查找哈有Hao的行,找到后使用空格进行分割,打印文件名+行号+列数

增则表达式

^以什么开头
$以什么结尾,^$表示空白行
.表示任意一个字符,例如: echo root | grep r..t        匹配r+任意两个字符+t
*匹配0到多次        .*表示任意多个字符
\转移字符

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值