Linux常用操作

新建文件夹 - mkdir

在指定目录下同时创建多个文件夹,例:在dir目录下创建三个子文件夹,dir1,dir2,dir3

$ mkdir dir
# 新建一个文件夹
$ mkdir -p dir/{dir1,dir2,dir3}
# 同时新建多个文件夹

文件查找 - which&locate&find

which

which命令可以查找已经加入$PATH(环境变量)后的命令的路径。

$ which nmap
/usr/bin/nmap
# 查看nmap命令所在路径
$ which ls  
ls: aliased to ls --color=auto
# ls命令实际执行的是ls --color=auto

locate

locate命令可以快速查找文件,locate我理解有点像Windows的everything的文件搜索工具。
locate是在locate.db中快速查找,比全盘扫描查找速度快,updatedb命令可以更新locate.db

$ locate xmpp-info.nse
/usr/share/nmap/scripts/xmpp-info.nse
# 查找xmpp-info.nse文件
$ sudo updatedb
# 更新locate.db数据库

find

find命令功能更丰富,可以查找指定权限、用户、修改时间、文件大小等,除了查找文件外,还支持执行命令。
查找文件示例:

$ find / -name FILENAME -type f 2>/dev/null
# 查找FILENAME文件,并过滤掉error信息。

三者区别

which是在PATH环境变量中查找,locate和find都是文件查找,locate速度快,find功能更强大。

启用某服务及将某服务加入自启动

$ sudo systemctl start ssh
# 启用ssh服务
$ sudo ss -antlp | grep sshd
# 查询ssh服务进程
$ sudo systemctl enable ssh
# 将ssh服务加入开机启动项
$ systemctl list-unit-files
# 查看服务状态及是否开机启动

安装与更新 - apt&dpkg

apt

$ sudo apt update
# 更新apt本地数据库
$ sudo apt upgrade
# 更新所有可更新的内容,包括系统更新。
$ sudo apt upgrade nmap
# 若要更新特定工具,则在upgrade后指定需要更新的工具名称。
$ apt-cache search nmap
# 在apt本地缓存数据库中查找是否有nmap软件。
**注意:利用apt-cache search查找的是软件包的描述中是否包含搜索的关键字,而非软件包名词。**
$ apt show PACKAGE-NAME
# 显示详情,PACKAGE-NAME是完整的软件包名称,apt-cache找到某软件包后,用apt show显示详情。
$ apt install PACKAGE-NAME
# 安装指定软件包
$ apt remove --purge PACKAGE-NAME
# 卸载指定软件。--purge参数将删除所有数据,不指定该参数则保留用户配置数据。

dpkg

当无法用apt安装时,可以下载安装包,用dpkg本地安装。

$ sudo dpkg -i package.deb
# -i参数,执行安装

环境变量 - env

env可以查看详细的环境变量信息
echo $PATH,可以查看设置的PATH变量信息。
echo $HOME,查看用户的home目录路径。
echo $PWD,查看当前所在路径,跟pwd命令的输出内容相同。

查看历史输入的命令 - history

history命令可以查看历史输入命令。
.bash_history文件是存放历史输入命令的地方。
.bashrc文件中可以设置历史命令存储数量和存储大小上限,即HISTSIZE和HISTFILESIZE。

history中设置时间

export HISTTIMEFORMAT='%F %T '
可以在显示历史命令的时候,同时显示命令执行的时间。应急排查的时候会有用。

常用的文件操作命令 - sort&uniq&cut&sed&awk

sort&uniq&cut&sed&awk是常用的针对文件的操作命令,功能不同可以结合起来使用。

sort&uniq&cut&sed示例

$ cat access.log | cut -d " " -f 1 | sort | uniq -c | sort -urn
1038 208.68.234.99
59 208.115.113.91
22 208.54.80.244
21 99.127.177.95
8 70.194.129.34
1 201.21.152.44
Listing
# 如上,将access.log文件中的IP地址过滤出来(cut),并进行去重(uniq)展示重复出现次数,并排序(sort)。

awk命令切割文件内容

awk命令不同于cut,可以指定多个字符作为切割的标志。

$ echo "this is test and test is this and test." | awk -F "and" '{print $1,$3}'
this is test   test.
# -F参数,指定切割标志, '{print $1,$3}' 指定数据切割后的第一块内容和第三块内容。

文本编辑工具vi和nano

vi

在命令模式下输入:

  • dd 可以删除光标所在行
  • yy 可以复制光标所在行
  • p 可以粘贴复制的行
  • x 可以删除光标所在字符

nano

nano操作更便捷一些,支持Ctrl+c,ctrl+v,ctrl+s,不过nano不一定是系统默认安装的。

文本对比工具 - comm&diff&vimdiff

comm

简单对比两个文件的差异。
comm 文件1 文件2
输出结果第一列是文件1独有的内容,第二列是文件2独有的内容,第三列是两个文件共有的内容。
如果只关注第三列共有内容,可以通过“-12”来关闭显示第一列和第二列的内容。

diff

diff比对内容更详细。
diff -u file1 file2
"-"表示文件1中独有的
"+"表示文件2中独有的
其他则是共有的内容

vimdiff

利用vim打开两个文件进行比对,可视化,更直观一些。

后台任务 - jobs&bg&fg

当前台运行的持续性任务用“Ctrl+z”挂起后,可以使用bg命令切换到后台继续运行。若有多个任务则bg %num%num是任务编号,不加编号默认最近被挂起的任务。
若希望任务在后台执行,需要在命令的最后加字符“&”。
jobs命令可以查看正在后台运行或挂起的任务。
fg %num命令可以指定任务返回前台运行,%num为任务编号,也可以用%command,如%ping,将ping任务返回前台。

查询进程 - ps

ps -ef
查询所有进程的详细信息。
ps -fC 进程名
查询指定进程的信息。
-e展示所有进程
-C展示指定进程,(大写C),个人感觉不如用grep过滤好用。
ps aux
还可以查询到cpu内存的占用情况。

持续输出文件内容 - tail

tail -f file.log
持续不断输出log文件的内容,监控log文件。
若要指定输出几行内容,可以用-nXX用于指定数量。
如:tail -n11 file.log 输出11行。
不指定-nX,默认输出10行。

定时执行命令 - watch

watch -n X 命令
watch用于定期运行指定命令,-n X用于指定时间周期,秒为单位。
如:watch -n 5 ps aux
每五秒执行一次查询进程。

文件下载 - wget&curl&axel

wget

wget -o localfilename downloadurl

curl

curl -o localfilename downloadurl

axel

axel可以同时连接多个下载服务器,来加速下载。
axel -a -n X -o localfilename downloadurl

别名 - alias

alias允许设置命令的别名。对于常用命令,包含多个参数,就可以设置别名来简化操作。
设置别名时,需要注意避开系统自带的命令名称
执行alias不带参数,可以查看所有设置的别名。

$ alias ls='ls -la --color=auto'
# 设置ls别名,执行命令:ls -la --color=auto
$ unalias ls
# 取消对ls别名的设置

通过alias设置的别名应该只在当前shell窗口下有效,若设置长期有效的,可以在用户home目录下的".bashrc"文件内设置。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值