1. 建立一個目錄 mkdir /data 建立多級目錄 mkdir -p /oldboy/data 2. 查看目錄裏面的內容 ls /data 3. 查看目錄裏面的詳細信息 ls -l /data 4. 進入到某個目錄 cd /data 5. 顯示當前位置 pwd 6. 建立文件、更新文件的時間戳 touch /data/hyp.txt 7. 編輯文件 vi /data/hyp.txt 按 i 進行插入模式,按esc鍵,輸入 :wq 保存退出,:q 退出,:q! 強制退出,:wq! 強制保存退出 8. 查看文件hyp.txt內容 cat hyp.txt 9. echo+內容 會把內容顯示到屏幕上 echo hello world echo hello world >>/data/hyp.txt 追加到文件裏 >> 追加劇定向 cat >>/data/hyp.txt <<EOF 追加多行(EOF表示結束標記) 10. 重定向符號 > 標準輸出重定向 (先清空文件裏的內容,再寫入內容) >> 追加劇定向 11. 複製 cp /data/hyp.txt /tmp 12. 備份hyp.txt文件 cp /data/hyp.txt /data/hyp.txt.bak 13. 複製目錄及目錄下的內容 cp -r /data/ /tmp/ cp -a /data/ /tmp/ -r 遞歸複製,複製目錄及目錄裏面的內容 -a 複製全部,至關於-pdr, -p 複製,保持屬性不變 14. 移動 mv /data/ /root/ 15. 刪除文件 rm hyp.txt rm -f hyp.txt 刪除目錄 rm -rf data/ 16. 查找 find /root/ -type f -name "hyp.txt" 參數: -type 找什麼類型的 f 文件 d 目錄 17. 管道 | 做用:把前面命令的結果,傳遞給後面的命令 find /root/ -type f -name "hyp.txt" | xargs ls -l 找出全部的.txt的文件 find /root/ -type f -name "*.txt" 18. 過濾出oldboy內容 grep "oldboy" text.txt 排除hello grep -v "oldboy" text.txt 19. 提取文件內容head head text.txt (默認取出前10行) 提取文件的前2行 head -2 text.txt 20. 從文件末尾提取 tail text.txt (取出最後10行) 21. awk '/oldboy/' text.txt awk '!/oldboy/' text.txt 同grep含義同樣,awk中!表示取反 22. sed sed '/oldboy/d' text.txt 刪除oldboy 23. 在覆蓋文件時,不提示是否覆蓋的方法 ① 撬棍 : \cp /tmp/text.txt /mnt/ ② 使用命令的絕對路徑 which cp # 查找命令cp的位置 /bin/cp /tmp/text.txt /mnt/ 24. 如何設置系統中的別名 # 查看系統中的別名 alias # 設置別名,模仿:在用rm命令的時候提示do not use rm alias rm='echo do not use rm' # 永久生效:寫入到文件/etc/profile vim /etc/profile 在最後一行 寫入 alias rm='echo do not use rm' source /etc/profile # 生效 # 填坑 vim /root/.bashrc 將 alias rm='rm -i' 註釋 25. 只查看ett.txt文件(共100行)的第20到第30行命令 seq 100 >/oldboy/ett.txt 方法1:sed默認會顯示全部內容,-n 取消默認輸出 # 顯示第20行 sed -n '20p' /oldboy/ett.txt # 顯示20-30 sed -n '20,30p' /oldboy/ett.txt 方法2: head -30 /oldboy/ett.txt | tail -11 方法3: awk 'NR==20, NR==30' /oldboy/ett.txt # NR表示行號 方法4:-A10 表示顯示出grep過濾的內容以及接下來的10行 grep -A10 "20" /oldboy/ett.txt 26. sed修改文件內容
sed -i 's#oldboy#oldgirl#g' /oldboy/t.sh
find /oldboy/ -type f -name "*.sh" |xargs sed -i 's#oldboy#oldgirl#g'
27. linux命令大全
網址:http://man.linuxde.net
28. 查看Linux系統版本
cat /etc/redhat-release
查看內核版本
uname -r
uname -m
PS1 系統的環境變量,控制命令行的樣式 echo $PS1 查看變量的內容 # 設置PS1的值 PS1='[\u@\h \W \t]\$'
# 添加普通用戶 useradd hyp # 檢查用戶是否存在 id hyp # 設置密碼 passwd hyp # 切換用戶 su - hyp # 查看當前用戶 whoami # 退出當前用戶,註銷 快捷鍵 Ctrl+d
# 臨時關閉,重啓服務器會失效 # 查詢selinux的狀態 getenforce 結果爲:Enforcing 表示selinux正在運行 Permissive 表示selinux臨時關閉 Disabled 表示selinux完全關閉 # 設置selinux的狀態 setenforce 0 1表示打開,0表示關閉 # 永久關閉,重啓服務器會生效 vim /etc/selinux/config 把 SELINUX=enforcing 改爲 SELINUX=disabled
# 服務器對外使用,有外網,須要開啓防火牆 # 併發高,開啓防火牆 # 內網,關閉防火牆 -------------------------------------------- # 臨時關閉,重啓服務器會失效 # 查看防火牆是否在運行 /etc/init.d/iptables status # 臨時關閉防火牆 /etc/init.d/iptables stop (建議關閉兩次) --------------------------------------------- # 永久關閉, # 查詢iptables是不是開機自動運行 chkconfig |grep iptables # 關閉iptables的開機自啓動 chkconfig iptables off
# 查看系統的字符集 echo $LANG 結果爲:en_US.UTF-8 # 修改字符集 # 臨時修改,改成 中文環境 export LANG=zh_CN.UTF-8 # 永久修改 (不要修改) # 查看 cat /etc/sysconfig/i18n # 生效 source /etc/sysconfig/i18n
# 亂碼產生的緣由? 1. Linux使用的字符集 與 遠程鏈接工具使用的字符集 的不一樣,就會致使亂碼 # 解決: 方法1:修改 遠程工具的字符集 方法2:修改 Linux的字符集
目錄結構的特色: 1. 一切從根開始 2. Linux中每一個設備能夠掛在任何目錄上面 3. Linux下面的磁盤/設備沒有掛載,則沒法使用 # 把光盤掛載到目錄 mount /dev/cdrom /mnt/ ----------------------------------------- 目錄簡介: # 安裝tree yum install tree
# 網卡的配置文件 cat /etc/sysconfig/network-scripts/ifcfg-eth0
yum install tree 報錯的解決方法: # 修改網卡配置文件: vim /etc/sysconfig/network-scripts/ifcfg-eth0 # 添加 DNS1=223.5.5.5 DNS2=223.6.6.6 # 網卡配置生效=重啓網卡 ifdown eth0 && ifup eth0 或者 重啓全部網卡 /etc/init.d/network restart
vim /etc/hosts
插入:
10.0.0.200 www.taobao.com www.jd.com
/etc/rc.local
做用:開機自動運行的文件
命令:env
經常使用的環境變量:LANG、PS一、PATH
PATH:存放的是命令的路徑
命令:etho $PATH
命令: tree:以樹形顯示目錄結構 -L:最多顯示幾層目錄 -d:只顯示目錄 rpm:rpm包管理命令 -qa:查詢 -ql:查詢軟件包裏面的內容
1. 如何過濾出已知當前目錄下oldboy中的全部第一級目錄 命令: 方法1:tree -dL -1 /oldboy/ 方法2:find -maxdepth 1 -type d ! -name "." 方法3:ls -l|grep "^d" 方法4:ls -l|awk '$2>1' 方法5:ls -F|grep "/" 2. 快速回到上一次的所在位置/目錄 命令:cd - 至關於 cd $OLDPWD 3. 一個目錄有不少文件(ls查看時好多屏),想最快速度查看到最近更新的文件。 命令:ls -lrt 參數:-r :逆序 -t :按照文件的修改時間進行排序 4. 已知apache服務的訪問日誌按天記錄在服務器本地目錄/app/logs下,因爲磁盤空間緊張,如今要求只能保留最近7天的訪問日誌,請問如何解決? (提示:能夠從apache服務配置上着手,也能夠從生成出來的日誌着手。) 命令: 方法1:find -type -f -name "*.log" -mtime +7 |xargs ls -l # 篩選出7天以前的日誌 方法2:ls -l $(find -type f -name "*.log" -name +7) 方法3:find -type f -name "*log" -mtime +7 -exec ls -l {} \; 5. 調試系統服務時,但願能實時查看系統日誌/var/log/messages 的更新,如何作? 命令:tail -f /var/log/messages 參數:-f:顯示文件的實時更新 tail -f === tailf 6. 打印配置文件 nginx.conf 內容的行號及內容,該如何作? 命令: 方法1:cat -n nginx.conf 方法2:vi/vim ---》 :set nu # 顯示行號 方法3:grep -n "." nginx.conf 方法4:awk '{print NR, $0}' nginx.conf 方法5:sed '=' nginx.conf |xargs -n2 7.