1. 程式人生 > >Linux基礎之基礎命令1

Linux基礎之基礎命令1

amp 日歷 版本 時間 右箭頭 ESS 結構體 art initrd

基本命令
一、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 可以啟動第二個圖形終端
5、二、命令形式
命令格式:
命令 選項 參數
選項:
短選項: - 輸入快捷簡單
多個選項可以組合: -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的中文命令大全
三、命令舉例:ls
ls -l: 長格式
文件類型: 可使用file命令查看
-: 普通文件 (f)
d: 目錄文件
b: 塊設備文件 (block)就是存儲數據以供系統存取的接口設備, 簡單而言就是硬盤
c: 字符設備文件 (character)即串行端口的接口設備, 例如鍵盤、 鼠標等等
l: 符號鏈接文件(symbolic link file)
p: 命令管道文件(pipe)是一種特殊的文件類型, 它主要的目的是, 解決多個程序同時存取一個文件所造成的錯誤
s: 套接字文件(socket)這類文件通常用在網絡數據連接。
我們可以啟動一個程序來監聽客戶端的要求, 客戶端就可以通過套接字來進行數據通信。
最常在 /var/run目錄中看到這種文件類型。三、命令舉例: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 的內容更改而更改的
ls -h: 做單位轉換
ls -a: 顯示以.開頭的隱藏文件
. 表示當前目錄
.. 表示父目錄
ls -ld: 顯示目錄自身屬性
ls -li: index node, inode
ls -lr: 逆序顯示
ls -lR: 遞歸(recursive)顯示
四、文件系統
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 -anpt | grep [端口號或服務名稱]查看網絡連接信息、 路由表等, 常用來查看端口打開情況
ethtool eth0 查看網卡信息
fdisk -l 查看硬盤信息
df -hT查看設備掛載信息
六、其它常用命令
1、目錄基本操作命令:
tree 樹狀圖列出目錄的內容
-C 在文件和目錄清單加上色彩, 便於區分各種類型
ls
查看目錄內容
cd 切換目錄
pwd 查看當前目錄位置
mkdir 創建目錄、
-p 創建多級目錄
-Z 設置安全上下文, 設置SElinux時有效
rmdir:刪除空目錄
rm:可以刪除一個目錄中的一個或多個文件或目錄, 也可以將某個目錄及其下屬的所有文件 及其子目錄均刪除掉。 對於鏈接文件, 只是刪除整個鏈接文件, 而原有文件保持不變。
-f 強制刪除
-r或-R: 遞歸處理, 將指定目錄下的所有文件與子目錄一並處理;
mv 用來對文件或目錄重新命名, 或者將文件從一個目錄移到另一個目錄中。
cp 用來將一個或多個源文件或者目錄復制到指定的目的文件或目錄。
-a: 此參數的效果和同時指定"-dpR"參數相同;
-d: 當復制符號連接時, 把目標文件或目錄也建立為符號連接, 並指向 與源文件或目錄連接的原始文件或目錄;
-f: 強行復制文件或目錄, 不論目標文件或目錄是否已存在;
-i: 覆蓋既有文件之前先詢問用戶;
-p: 保留源文件或目錄的屬性;
-R/r: 遞歸處理, 將指定目錄下的所有文件與子目錄一並處理;
2、文件查看和處理命令:
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 /me
七、Vim
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基礎之基礎命令1