1. 程式人生 > >linux基本命令總結(一)

linux基本命令總結(一)

所在 ons 重復 輸入 結構 統計文件 數據連接 可選 多行

基本命令
1.Linux的基本原則:
1、由目的單一的小程序組成;組合小程序完成復雜任務;
2、一切皆文件;
3、盡量避免捕獲用戶接口;(盡量不和用戶進行交互,就是一個程序一但開始運行,就不需要用戶進行任何操作,如ls命令,ifconfig命令)
4、配置文件保存為純文本格式;
用戶接口:是一種獨特的應用程序,能夠為用戶提供啟動其他應用程序的機制
CLI:命令提示符,用戶輸入命令即可
shell:sh,csh,ksh,bash,zsh,tcsh
GUI:圖形界面用戶接口,一般通過點擊來啟動應用程序
GNOME:C語言
KDE:C++
XFCE:輕量級
終端類型:tty命令可以查看
虛擬終端(tty1-6) /dev/tty# #號為數字號碼
偽終端(ssh、Telnet連接稱為偽終端或者在圖形界面下打開的終端) /dev/pts/# 物理終端(console) /dev/console 串行終端(使用特定速率向外打印字符,通過串行接口連接) /dev/ttyS# 圖形終端:可以使用startx命令啟動 startx -- :2 可以啟動第二個圖形終端
2.命令形式
命令格式:
命令 選項 參數
選項:
短選項: - 輸入快捷簡單
多個選項可以組合:-a -b = -ab 長選項: -- 意思明了
參數:命令的作用對象
命令分為內部命令和外部命令
內部命令是系統shell自帶的命令
外部命令是安裝其他的程序產生的命令。
可以通過type 查看命令是內部還是外部命令: type 命令關鍵字
幫助的方式:
1、內部命令可以通過:help 命令 例子: help cd
2、外部命令可以通過:命令 --help 例如:ls --help
3、可以通過man命令獲取命令幫助: 例如: man cd whatis 查看都有哪些man章節
4、可以通過info命令獲取命令幫助: 例如: info cd
5、通過百度\google等搜索引擎 可以尋求幫助
6、可以通過下載一個linux的中文命令大全
3.命令舉例:ls
ls -l:長格式
文件類型: 可使用file命令查看
-:普通文件 (f)
d: 目錄文件
b: 塊設備文件 (block)就是存儲數據以供系統存取的接口設備,簡單而言就是硬盤
c: 字符設備文件 (character)即串行端口的接口設備,例如鍵盤、鼠標等等
l: 符號鏈接文件(symbolic link file)
p: 命令管道文件(pipe)是一種特殊的文件類型,它主要的目的是,解決多個程序同時存取一個文件所造成的錯誤
s: 套接字文件(socket)這類文件通常用在網絡數據連接。
我們可以啟動一個程序來監聽客戶端的要求,客戶端就可以通過套接字來進行數據通信。
最常在 /var/run目錄中看到這種文件類型。
文件權限:9位,每3位一組,每一組:rwx(讀,寫,執行), r-- 文件硬鏈接的次數
文件的屬主(owner)
文件的屬組(group)
文件大小(size),單位是字節
時間戳(timestamp):最近一次被修改的時間(mtime),可以使用stat命令可以看到
訪問:access atime 是在讀取文件或者執行文件時更改的
修改:modify, mtime 是在寫入文件時隨文件內容的更改而更改的
改變:change, ctime metadata,元數據 狀態改變 是在寫入文件、更改所有者、權限或鏈接設置時隨inode 的內容更改而更改的。
-h:做單位轉換
-a: 顯示以.開頭的隱藏文件
. 表示當前目錄
.. 表示父目錄
-A
-d: 顯示目錄自身屬性
-i: index node, inode
-r: 逆序顯示
-R: 遞歸(recursive)顯示
4.文件系統
FHS: filesystem hierarchy standard 文件系統層級標準
rootfs: 根文件系統 /
/boot: 系統啟動相關的靜態文件,如內核、initrd或者initramfs,以及grub(bootloader)
/dev: 所有設備的設備文件,設備文件也稱為特殊文件(僅有元數據,沒有數據,是設備的入口)
設備文件:
塊設備:隨機訪問,數據塊
字符設備:線性訪問,按字符為單位
設備號:主設備號(major)和次設備號(minor) 主設備號相同的設備是同類設備(使用同一個驅動程序)
通過 cat /proc/devices 命令查看當前已經加載的設備驅動程序的主設備號
例如:ls -l /dev/sr0
brw-rw---- 1 root cdrom 11, 0 4月 1 08:59 /dev/sr0 11為主設備號,0為次設備號
/etc:配置文件
/home:普通用戶的家目錄,每一個用戶的家目錄通常默認為/home/USERNAME
/root:管理員的家目錄;
/lib:基本的共享庫和內核模塊
庫文件 本質上來說庫是一種可執行代碼的二進制形式,可以被操作系統載入內存執行。
靜態庫, .a 靜態庫的代碼在編譯過程中已經被載入可執行程序,因此體積較大
動態庫, .dll, .so (shared object) 共享庫的代碼是在可執行程序運行時才載入內存的,在編譯過程中僅簡單的引用,因此代碼體積較小。
/lib/modules:內核模塊文件
/media:為了移動設備的掛載點目錄,例如光盤、U盤
/mnt:掛載點目錄,額外的臨時文件系統
/opt:可選目錄,第三方程序的安裝目錄
/proc:內核及進程信息的虛擬文件系統,偽文件系統,內核映射文件,只存在內存中,它以文件系統的方式為訪問系統內核數據的操作提供接口。
/sys:偽文件系統,硬件設備信息虛擬文件系統接口,跟硬件設備相關的屬性映射文件,該目錄下是全局設備結構體系,包含所有被發現的註冊在各種總線上的各種物理設備
/tmp:臨時文件, /var/tmp
/var:可變化的文件
/var/log 日誌信息
/bin: 基礎的用戶命令二進制程序, 為所有用戶使用
/sbin:系統二進制程序,一般為管理命令
/bin和/sbin 系統自身啟動和運行時可能會用到的核心二進制命令
/usr:shared, read-only (Unix System Resource,即Unix系統資源的縮寫),不適合放在/bin或/etc目錄下的額外的工具
/usr/bin 大多數用戶使用到的命令
/usr/sbin 非核心的系統命令
/usr/bin和/usr/sbin 系統運行時,用戶為完成某種操作可能用到的命令
/usr/lib
/usr/local:主要存放那些手動安裝的軟件
/usr/local/bin
/usr/local/sbin
/usr/local/lib
/usr/share/man /usr/share/doc 幫助文件
應用程序的組成部分:
二進制文件、庫文件、配置文件、幫助文件
路徑:
絕對路徑:凡是以“/”開頭的輸入路徑的方式都是絕對路徑
相對路徑:凡是以“.”或者“..”開頭的都是相對路徑
每個絕對路徑都可以切割成2部分:
基名: basename /path/to/somewhere 結果為somewhere 目錄名: dirname /path/to/somewhere 結果為/path/to 查看服務器基本信息:
cat /proc/cpuinfo 查看cpu信息
cat /proc/meminfo 查看內存信息
free 查看內存使用情況
uptime 監控CPU情況
uname -r 查看內核版本
cat /etc/redhat-release 查看發行版信息
hostname 查看主機名
hostnamectl set-hostname sunday-centos7 設置主機名為sunday-centos7,會更改配置文件,永久生效
ip addr 查看ip信息
ifconfig 查看ip信息
netstat 查看網絡連接信息、路由表等,常用來查看端口打開情況
ethtooleth0 查看網卡信息
fdisk -l 查看硬盤信息
df 查看設備掛載信息
5.其它常用命令
目錄基本操作命令:
tree 樹狀圖列出目錄的內容
-C 在文件和目錄清單加上色彩,便於區分各種類型
ls 查看目錄內容
cd 切換目錄
pwd 查看當前目錄位置
mkdir 創建目錄、
-p 創建多級目錄
-Z 設置安全上下文,設置SElinux時有效
rmdir 刪除空目錄
rm 可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件 及其子目錄均刪除掉。對於鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。
-f 強制刪除
-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
mv 用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。
cp 用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄。
-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當復制符號連接時,把目標文件或目錄也建立為符號連接,並指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
文件查看和處理命令:
touch 創建文件
touch 改變文件的atime和mtime (ctime會隨之改變)
-a 改變atime
-m 改變mtime
stat 查看文件的屬性及元數據
cat 用來顯示文件的內容
cat m1 m2 > file (將文件ml和m2合並後放入文件file中)
-n 顯示行號
通過標準輸入生成文件testfile
[root@localhost ~]# cat > testfile << EOF

Hello World!
wellcome to china
EOF
tac 倒序查看文件內容
more 顯示文件內容,每次顯示一屏
按Space鍵:顯示文本的下一屏內容。
按Enier鍵:只顯示文本的下一行內容。
按h鍵:顯示幫助屏,該屏上有相關的幫助信息。
按b鍵:顯示上一屏內容。
按q鍵:退出命令。
less 分屏上下翻頁瀏覽文件內容,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁
head 顯示文件開頭
tail 顯示文件結尾
-f 監控某個文件變化
日期時間:
date、clock、hwclock、
cal 打開日歷
bc 打開計算器
wc 統計文件的行數\單詞數\字符數
-l 行數
-w 單詞數
-c 字符數
du 統計文件和目錄的大小
-s 匯總顯示大小
-h 易讀形式顯示
alias 設置別名 alias a=‘mount /dev/cdrom /media‘
vim : 三種模式:命令模式、插入模式、末行模式

  1. i I a A o O 進入到插入模式
  2. :末行模式 w 保存 q 退出 wq保存並且退出 !強制 三者可以結合使用
    3.命令行模式: dd 刪除[剪切] yy 復制 [n]yy 多行復制 p 粘貼
    4.使vim顯示行號,在/root 下邊創建一個 .vimrc 的文件,使用vim打開,添加set nu ,wq保存退出
    命令模式下的操作:
    1、翻頁 Page Down或Ctrl+F 向下翻動一整頁內容
    Page Up或Ctrl+B 向上翻動一整頁內容
    2、行內快速跳轉 Home鍵或“^”、數字“0” 跳轉至行首
    End鍵或“$”鍵 跳轉到行尾
    3、行間快速跳轉 1G或者gg 跳轉到文件的首行
    G 跳轉到文件的末尾行
    #G 跳轉到文件中的第#行
    4、行號顯示 :set nu 在編輯器中顯示行號
    :set nonu 取消編輯器中的行號顯示
    5、刪除 x或Del 刪除光標處的單個字符
    dd 刪除當前光標所在行
    #dd 刪除從光標處開始的#行內容
    d^ 刪除當前光標之前到行首的所有字符
    d$ 刪除當前光標處到行尾的所有字符
    6、復制 yy 復制當前行整行的內容到剪貼板
    #yy 復制從光標處開始的#行內容
    7、粘貼 p 小寫 將緩沖區中的內容粘貼到光標位置處之後
    P 大寫 粘貼到光標位置處之前
    8、查找 /word 從上而下在文件中查找字符串“word”
    ?word 從下而上在文件中查找字符串“word”
    n 定位下一個匹配的被查找字符串
    N 定位上一個匹配的被查找字符串
    9、取消操作 u 按一次取消最近的一次操作
    多次重復按u鍵,恢復已進行的多步操作
    U 用於取消對當前行所做的所有編輯
    10、保存退出 ZZ 保存當前的文件內容並退出vi編輯器
    11、可視化塊操作界面 ctrl+v 進入塊操作界面
    上、下、左、右箭頭 可以進行選擇塊
    y 復制選擇的快
    p 粘貼選擇的快
    末行模式的操作:
    1、保存文件 :w 保存修改的內容
    :w /root/newfile 另存為其它文件
    2、退出vi :q 未修改退出
    :q! 放棄對文件內容的修改,並退出vi
    3、保存文件退出vi :wq 保存修改的內容並退出
    4、打開新文件 :e ~/install.log 打開新的文件進行編輯
    5、讀入其它文件內容 :r /etc/filesystems 在當前文件中讀入其他文件內容
    6、替換 :s /old/new 將當前行中查找到的第一個字符“old” 串替換為“new”
    :s /old/new/g 將當前行中查找到的所有字符串“old” 替換為“new”
    :#,# s/old/new/g 在行號“#,#”範圍內替換所有的字符串“old”為“new”
    :% s/old/new/g 在整個文件範圍內替換所有的字符串“old”為“new”
    :s /old/new/c 在替換命令末尾加入c命令,將對每個替換動作提示用戶進行確認

linux基本命令總結(一)