Shell常用的指令

news/2024/12/2 21:38:21/

Shell 常用的指令

常用的指令

重定向输入输出 : > < --stdin

  • 输入: >
[root@myserver ~]# echo "123456" >a.txt 
[root@myserver ~]# cat a.txt 
123456
  • 输出: <
 cat < /etc/passwd > a.txt 
  • –stdin

    echo "12345678" |  passwd  --stdin root
    

>> 表示追加 , >表示覆盖内容

[root@myserver ~]# echo 123 > a.txt
[root@myserver ~]# cat a.txt 
123
[root@myserver ~]# echo 123 >> a.txt
[root@myserver ~]# cat a.txt 
123
123
[root@myserver ~]# echo 123 >> a.txt
[root@myserver ~]# cat a.txt 
123
123
123
[root@myserver ~]# 

管道: |

将前面命令的执行结果,作为后面命令的输入。

[root@myserver ~]# cat a.txt  | grep 12
123
[root@myserver ~]# ifconfig | grep "ens33"

逻辑与 : &&

连接命令, 当前前面的命令执行完成后继续执行后面的指令,如果前面的命令执行失败,则后面的命令不执行。

[root@myserver ~]# ls && ls -l 
[root@myserver ~]# aa && ls 
bash: aa: command not found...

逻辑或 : ||

连接命令, 当前前面的命令执行完成后不执行后面的指令,如果前面的命令执行失败,则后面的命令执行。

[root@myserver ~]# ls || ls -l
a                Desktop               mytestfile         shellscripts
anaconda-ks.cfg  Documents             mytestfile.tar.gz  Templates
a.txt            Downloads             mytest.txt         test
b.txt            initial-setup-ks.cfg  Pictures           Videos
c.txt            Music                 Public             zlib-1.2.11.tar.gz
[root@myserver ~]# aa || ls 
bash: aa: command not found...
a                Desktop               mytestfile         shellscripts
anaconda-ks.cfg  Documents             mytestfile.tar.gz  Templates
a.txt            Downloads             mytest.txt         test
b.txt            initial-setup-ks.cfg  Pictures           Videos
c.txt            Music                 Public             zlib-1.2.11.tar.gz
[root@myserver ~]# 

条件判断: [ ]

  • -d 检测目录
  • -f 检测文件
[root@myserver ~]# [ -d /root ]  &&  echo "have "
have 
[root@myserver ~]# [ -d /opt/zz ] || mkdir /opt/zz
[root@myserver ~]# ls /opt/
a.txt  b.txt  c.txt  zz[root@myserver ~]# [ -f d.txt ] || echo 123 >d.txt && ls 
a                Documents             mytestfile.tar.gz  test
anaconda-ks.cfg  Downloads             mytest.txt         Videos
a.txt            d.txt                 Pictures           zlib-1.2.11.tar.gz
b.txt            initial-setup-ks.cfg  Public
c.txt            Music                 shellscripts
Desktop          mytestfile            Templates
[root@myserver ~]# cat d.txt 
123

文本过滤:grep、 egrep

[root@myserver ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@myserver ~]# [root@myserver ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@myserver ~]# grep xiaoa /etc/passwd
xiaoa:x:1008:1004::/home/xiaoa:/bin/bash
[root@myserver ~]# [root@myserver ~]# egrep "(root|xiaoa)" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
xiaoa:x:1008:1004::/home/xiaoa:/bin/bash

文本处理

  • 空格
  • 注释
[root@myserver ~]# cat d.txt 
123#####
# 1
# 2
# 3ssssssss
[root@myserver ~]# grep -v "^#" d.txt 
123ssssssss
[root@myserver ~]# grep -v "^#" d.txt | grep -v "^$" 
123
ssss
ssss[root@myserver ~]# egrep -v "(^#|^$)" d.txt 
123
ssss
ssss

文件查找: find

[root@myserver ~]# find /root -name "*.txt"
/root/.cache/tracker/db-version.txt
/root/.cache/tracker/db-locale.txt
/root/.cache/tracker/parser-version.txt
/root/.cache/tracker/locale-for-miner-apps.txt
/root/.cache/tracker/last-crawl.txt
/root/.cache/tracker/first-index.txt
/root/Desktop/b.txt
/root/mytest.txt
/root/d.txt
/root/.mozilla/firefox/53suypww.default-default/pkcs11.txt
/root/.mozilla/firefox/53suypww.default-default/SiteSecurityServiceState.txt
/root/.mozilla/firefox/53suypww.default-default/SecurityPreloadState.txt
/root/.mozilla/firefox/53suypww.default-default/TRRBlacklist.txt
/root/.mozilla/firefox/53suypww.default-default/AlternateServices.txt
/root/a.txt
/root/b.txt
/root/a/b/a.txt
/root/a/b/b.txt
/root/c.txt

查找当前用户主目录下的所有文件:

[root@linuxcool ~]# find $HOME -print

列出当前目录及子目录下所有文件和文件夹:

[root@linuxcool ~]# find .

在/home目录下查找以.txt结尾的文件名:

[root@linuxcool ~]# find /home -name "*.txt"

在/var/log目录下忽略大小写查找以.log结尾的文件名:

[root@linuxcool ~]# find /var/log -iname "*.log"

搜索超过七天内被访问过的所有文件:

[root@linuxcool ~]# find . -type f -atime +7

搜索访问时间超过10分钟的所有文件:

[root@linuxcool ~]# find . -type f -amin +10

找出/home下不是以.txt结尾的文件:

[root@linuxcool ~]# find /home ! -name "*.txt"

http://www.ppmy.cn/news/290146.html

相关文章

FPGA 的数字信号处理:重写 FIR 逻辑以满足时序要求

在上一篇文章中&#xff08;FPGA 的数字信号处理&#xff1a;Verilog 实现简单的 FIR 滤波器&#xff09;演示了在 Verilog 中编写自定义 FIR 模块的初始demo。该项目在行为仿真中正常&#xff0c;但在布局和布线时未能满足时序要求。 所以今天的文章让我们来看看当设计不能满足…

比较好用的两个IP定位网站

国外的&#xff1a;https://dev.maxmind.com/geoip/ 国内的&#xff1a;http://www.cz88.net/

最强提示词技巧,没有之一!(全网首发)

我们总是希望AI按照我们的要求来进行回复。 通常&#xff0c;当回复不符合预期的时候&#xff0c;我们需要通过不断优化提示词&#xff0c;让AI慢慢学习&#xff0c;慢慢领悟我们的意图&#xff0c;直到符合我们的预期。而这个过程&#xff0c;往往需要长时间多轮往复。 举个栗…

golang 根据IP获取真实地址(不联网,单机版)

package mainimport ("fmt""github.com/yangtizi/cz88" )func main() {fmt.Println(cz88.GetAddress("47.56.100.100")) } $go mod init cz88$go build -o cz88.exe$./cz88.exe香港 阿里云

【C语言】ASCII码转化成UTF-8/GBK转UTF-8

ASCII码转化成UTF-8 #include "stdafx.h" #include <windows.h> #include <cassert>int AsciToUtf8(char* pSrc, unsigned int nSrcLen, char* pBuffer, unsigned int nBufferLen) {assert(pSrc ! NULL);int nRet(0);int nUtf16Len MultiByteToWideCha…

【Go】获取域名ip及所在地

获取域名ip 代码 addr, err : net.ResolveIPAddr("ip", "www.baidu.com")if err ! nil {fmt.Println("Resolution error", err.Error())}ip : addr.IP.String()fmt.Println("ip:" ip) 结果 获取所在地 导入包 github.com/yangtiz…

UTF-8转GBK

参考链接&#xff1a;https://blog.csdn.net/yanchao7788/article/details/53196901 参考链接&#xff1a;你真的懂 Unicode 和 UTF-8 是什么关系吗&#xff1f;来看看这个就彻底懂了&#xff01;_魔都飘雪的博客-CSDN博客_utf8和unicode的关系 UTF-8没办法直接转GBK&#xf…

第八届北京军博会展会筹备工作稳步推进

“十四五”开局之年&#xff0c;全军装备制造业大力发展智能装备。为推进指挥控制与军事智能技术装备产业发展&#xff0c;提升国防工业装备研发和制造能力。由中国科学技术协会指导&#xff0c;中国指挥与控制学会主办&#xff0c;北京洞见未来会展有限公司承办的第十届中国指…