Linux常用(易忽略)命令

1.取得路徑的文件名和路徑名稱

basename

dirname

2.指令和檔案的搜尋

which尋找執行檔():which 【-a】 command

which 是從用戶設定的PATH變量中的目錄內去搜尋可執行文件,-a可以搜尋出所有同名的執行檔,而不僅僅是第一個被搜尋出來的。

bash的內建指令用: type

檔案名或者目錄名:find (速度較慢)//  whereis 或者locate(數據庫中尋找)

3.變量

需求原因:

變量的可變性和方便性,不同的登陸者可以以不同的名字來命名

腳本程序設計的方便,對全局性變量的修改

變量用法:

****環境變量是在用戶登錄到shell之前就已經有的,系統用它來提取信息,配置環境

取用:echo,

設置爲環境變量:export

PATH=$PATH:your own path

PATH="$PATH":your own path

PATH=${PATH}:your own path

****name = "wanghan"

****name = $nameyes或者${name}yes

【】在bash內重新開啓的bash,視爲子程序,父程序中的自定義的變量是無法在子程序內使用

通過在export 將其變成環境變量即可

【】目前的shell中有多少的環境變量用:export(還有額外功能) 和 env查看

set: 可以觀察所有變量,含環境變量和自定義變量(PS1提示bash環境的字符)

4.Linux中工作排程

【】例行性(每隔一個週期就會發生)cron

【】突發性(一次發生完後就沒有了)at

at:需要atd服務的支持

 

at now + 5 minutes <==記得單位要加 s 喔!
at> /bin/mail root -s "testing at job" < /root/.bashrc
at> <EOT> <==這裏輸入 [ctrl] + d 就會出現 <EOF> 癿字樣!代表結束!
job 4 at 2009-03-14 15:38
# 上面這行信息在說明,第 4 個 at 工作將在 2009/03/14 癿 15:38 迚行!

 

先找尋 /etc/at.allow 這個檔案,寫在這個檔案中的使用者才能使用 at
如果 /etc/at.allow 不存在,就尋找 /etc/at.deny 這個檔案,若寫在這個 at.deny 的使用者則不能使用 at
如果兩個檔案都不存在,那麼只有 root 可以使用 at 這個命令
建議你最好使用絕對路徑來下達你命令,比較不會有問題喔!由於命令下達與 PATH 變量有關, 同時與當時的工
作目錄也有關連 (如果有牽涉到檔案的話)

at 有背景執行功能,遠程連接系統後,可以獨立於bash環境,直接交給系統的atd程序接管

atq  查詢主機中有多少at工作排程

atrm number 根據查詢到的工作號,刪除對應任務

crontab:可以用指令執行crontab 或者 編輯/etc/crontab(針對系統服務)

anacron處理非24小時開機的系統,偵測停機過程中沒有進行的crontab任務,完成一遍後就自動停止

5.別名的命名和取消

type 自定義命令名 ,查看自定義命令名是否被系統佔用

alias loo='cd /root;ls;cd /' 

通過這種方式設置的別名命令只對當前登錄環境下有效,退出後重新登錄就無效了

【】 長期有效的方式:用戶只需要修改 ~/.bashrc文件, 加入你要設置的別名命令即可,執行source .bashrc  使配置生效

6.去掉文件由Windows轉換至Linux中出現^M的問題

對此的解決辦法就是通過字符替換,將^M換掉,具體方法如下:

利用vim打開文件,然後輸入vim 命令 %s/^M$//g,進行全文件查找替換。

注意:^ 使用ctrl+v 來輸入,M使用ctrl+m來輸入

7.Grep 的命令用法

https://blog.csdn.net/rockstar541/article/details/79174906

8.Awk 的命令用法

- 格式1:前置命令 | awk [選項] '[條件]{指令}'

- 格式2 : awk  [選項] '[條件]{指令}' 文件

https://blog.csdn.net/qq_23587541/article/details/81392170

https://blog.csdn.net/weixin_42182501/article/details/88371494

9.查看當前登錄系統的用戶以及進程

who  w  users last...

https://blog.csdn.net/weixin_34040079/article/details/89868726

10.連接WiFi

sudo iwlist wlan0 scan列出所有可連接wifi

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

在文件的底部添加下面內容:

network={
    ssid="Your_wifi_ssif"
    psk="Your_wifi_password"
}

ifconfig wlan0 down
ifconfig wlan0 up

11. find查找文件與exec的配合使用

exec選項後面跟隨着所要執行的命令或腳本,然後是一對兒 {},一個空格和一個\,最後是一個分號;  cmd {} \;
pi@ubuntu:~$ find . -name '[0-9]\.txt' -exec rm {} \;

vi auto-del-7-days-ago-log.sh
編輯auto-del-7-days-ago-log.sh文件如下:
#!/bin/sh
find /opt/soft/log/ -mtime +7 -name "*.log" -exec rm -rf {} \;
ok,保存退出(:wq)。
解析:

find 後面緊跟的是要查找的目錄,. 表示當前目錄

-type f:指定查找對象爲文件

-name *.log:指定查找對象名稱以.log結尾

-mtime +7: 查找7天以前的老文件

-exec rm {} \;  :執行刪除命令,

加入定時任務
#crontab -e
將auto-del-30-days-ago-log.sh執行腳本加入到系統計劃任務,到點自動執行
輸入:
10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章