LINUX基礎命令

一.Linux經常使用基礎命令

1.tree命令:以樹狀形式查看指定目錄內容(只能查看目錄內容,不能查看文件內容)

tree --以樹形結構顯示當前目錄下的文件信息
tree 目錄 --樹形結構顯示指定目錄下的文件信息

複製代碼

2.clear :清屏操做

3.ls :查看當前文件夾下的內容

#1)使用方法
ls--顯示當前目錄下文件信息
ls 目錄或文件名 --顯示指定目錄下文件信息
#2)相關參數
-a:顯示指定目錄下全部子目錄與文件,包含隱藏文件
-R:遞歸方式列出全部目錄中的內容
-h:配合-l以人性的方式顯示文件大小
-l:以列表方式顯示文件的詳細信息
#3)文件類型(根據第一個字符判斷)
-: 普通文件
d : 目錄
l : 符號連接,至關於windows中的快捷方式
s : 套接字
p : 管道
b : 塊設備
c : 字符設備
#4)用戶的操做權限(2-10個字符)
其餘人對文件的操做權限(8,9,10個字符)
文件全部者對文件的操做權限(2,3,4個字符)
文件所屬組用戶對文件的操做權限(5,6,7個字符)
#5)參數之間結合使用:
ls -la:列出當前目錄下全部文件的相關信息,包括隱藏文件
ls-ltr:列出當前目錄下的文件,按照時間逆向排序
#6)通配符
*:表示0個或多個字符
?:表示任一字符
[a-z]:表示a-zde任一字符,如果0-9表示任一數字字符
[abcd]:表示a|b|c|d任一字母

複製代碼

4.cd 切換目錄,命令使用方式:cd+路徑

# 1)切換到家目錄 
cd
cd ~
cd /home
cd $HOME
# 2)回到上次目錄
cd -

複製代碼

5.pwd:查看用戶當前所處的工做目錄

6.which:顯示命令所在的目錄

7.touch:若是文件存在,更新文件的最後修改時間,若是文件不存在,建立新文件(touch文件名)

8.mkdir:建立文件夾(mkdir -p aa/bb/cc 建立多級目錄)

9.rmdir:只能刪除空文件夾

10.rm:刪除文件

-r 刪除目錄名 
-i 提示用戶是否刪除文件或目錄
-f強制刪除()以此刪除的文件或目錄不會放入回收站中,數據不易恢復

複製代碼

11.cp源目錄或文件 目錄或文件(如有目錄拷貝須要用-r 參數; 用-a參數,能夠保留被拷貝文件的一些屬性信息 )

cp  要拷貝的文件(file1) file(不存在);   建立file, 將file1中的內容拷貝到file
cp file1 file(存在); file1 覆蓋 file
cp file dir(存在);拷貝file 到 dir 目錄
cp - r dir(存在) dir1(存在); 將dir (包含)目錄拷貝到dir1目錄中
cp - r dir (存在) dir1(不存在); 建立dir1, 將dir (不包含)中的內容拷貝到dir1中

複製代碼

12.mv更名或者移動文件(mv file1 file2)

#1).更名
mv file(存在) file1(不存在)
mv dir(存在) dir1(不存在)
mv file(存在) file2(存在):file文件覆蓋file2文件,file 更名爲file2
#2).移動
mv file(文件) dir(存在的目錄):將file 文件移動到dir中
mv fir(目錄存在) dir1(目錄存在):將dir移動到dir1中,dir就會做爲dir1的子目錄而存在

複製代碼

13.cat(查看):將文件內容一次性輸出到終端,使用方式 cat 文件名,缺點:終端顯示的內容有限,若是文件太長沒法所有顯示

14.more:將文件內容顯示到終端,可是隻能一直向下瀏覽,不能回退,使用方式 more 文件名

顯示下一行:回車
顯示下一頁:空格
退出:q(ctrl+c)

複製代碼

15.less :文件內容分頁顯示到終端,能夠自由上下瀏覽。使用方式:less 文件名

顯示下一行:回車、ctrl+p、鍵盤向下鍵
顯示上一行:ctrl+n、鍵盤向上鍵
顯示下一頁:空格、PageDown
顯示上一頁:PageUp
退出:q

複製代碼

16.head:從文件頭部開始查看前n行的內容

#使用方式 若是沒有指定行數,默認顯示前10行
head -n[行數] 文件名

複製代碼

17.tail:從文件尾部向上查看最後n行的內容

#使用方式 若是沒有指定行數,默認顯示最後10行內容
tail -n[行數] 文件名

複製代碼

18.重定向

# 文件存在覆蓋
ls -l > text.log 2>&1
# 文件存在,在末尾追加
ls -l >> test.log 2>&1

複製代碼

19.管道:一個命令的輸出能夠經過管道做爲另外一個管道的輸入(參數)

20.軟鏈接

1) ln -s 文件名 快捷方式的名字
2) 目錄也能夠建立軟鏈接
3) 注意事項
       <1>ln建立軟鏈接要用絕對路徑,由於若是不使用絕對路徑,一旦這個鏈接文件發生位置變更,就不能找到那個文件了
       <2>軟鏈接文件的大小是:路徑+文件名的總字節數

複製代碼

21.硬鏈接

1)ln 文件名 硬鏈接的名字
2)本質:不一樣文件名所在的inode節點是相同的,相同的inode節點指向了相同的數據塊,因此他們的文件內容是同樣的,文件內容會同步
3)注意事項
        <1>不能建在目錄上
        <2>對絕對路徑沒有要求
        <3>不能跨文件系統
4)應用場景
        <1>能夠起到同步的做用(修改file的內容,會在其他三個硬鏈接文件上同步)
        <2>能夠起到保護文件的做用(刪除文件的時候,只要硬鏈接計數比不爲0,不會真正刪除)

複製代碼

22.wc:顯示文件行數,字節,單詞數

1) wc -l file 顯示文件的總行數
2) wc -c file 顯示文件的總字節數
3) wc -w file 顯示文件的總單詞數
4) wc file 顯示文件的總行數,單詞數和總字節數 

複製代碼

23.whoami:顯示當前登陸的用戶名

24.who:查看當前全部登陸系統的用戶信息

25.shutdown | reboot | init

reboot:重啓系統
shutdown -r now:重啓系統,shotdown會給別的用戶提示
shutdown -h now:馬上關機
shutdown -h 15:30:系統在今天的15:30會關機
shutdown -h + 10:再過十分後自動關機
init 0: 關機

複製代碼

26.exit:退出當前登陸的終端或者遠程終端或者 su 切換的用戶

27.passwd:修改用戶密碼

28.sudo臨時得到root權限(sudo 命令--會提示用戶輸入當前用戶的密碼)

29.ssh

ssh要登陸的用戶名@ip, 而後提示輸入密碼

複製代碼

30. ftp

ftp ip,而後提示輸入用戶名和密碼,而後就登陸到了遠程服務器上,get是下載, put是上傳文件
        例:ftp localhost-->密碼--->pwd-->cd day02-->get a03.txt  (下載)
        例:ftp localhost-->密碼--->pwd-->cd day02-->put 23.txt  (上傳)  

複製代碼

31.scp:遠程拷貝文件,若拷貝目錄須要 -r 參數

1) scp -r mytest@ip:/home/mytest/.... 本地目錄
        例: scp python@localhost:/home/python/day02/a03.txt ./
2) scp -r filename 遠程機器用戶@ip:路徑
          例:scp 23.txt python@localhost:/home/python/day02/

複製代碼

二.用戶權限、用戶、用戶組

1.chmod 修改文件權限

1) 文字設定法
命令:chmod [who] [+|-|=] [mode] 文件名
操做對象【who】
            u -- 用戶(user)
            g -- 同組用戶(group)
            o -- 其餘用戶(other)
            a -- 所用用戶(all)【默認】
操做符【+-=】
            + -- 添加權限
            - -- 取消權限
            = -- 賦予給定權限並取消其餘權限
權限【mode】
            r -- 讀
            w -- 寫
            x -- 執行
2)數字設定法
命令:chmod [+|-|=][mode] 文件名
操做符【+-=】
            + -- 添加權限
            - -- 取消權限
            = -- 賦予給定權限並取消其餘權限 (默認爲=)
數字表示的含義
            0 -- 沒有權限(-)
            1 -- 執行權限(x)
            2 -- 寫權限(w)
            4 -- 讀權限(r)

複製代碼

2.chown :修改文件全部者和所屬組

1) 修改文件全部者用法:chown 文件全部者 文件名
        sudo chown mytest file.txt
2) 修改文件全部者和所屬組用法:chown 文件全部者:文件所屬組 文件名
         sudo chown mytest:mytest file.txt

複製代碼

3.chgrp:修改文件所屬組

使用方法:chgrp 用戶組 文件或目錄
        sudo chgrp mytest file.txt

複製代碼

4.find

1)按文件名查詢 -name
            find 路徑 -name "文件名"
2)按文件類型查詢 -type
            find 路徑 -type 類型(普通類型用f表示而不是 -)
3) 按文件大小查詢 -size
        命令:find  路徑  -size  範圍
            範圍
                    大於:+表示 --  +100k
                    小於:-表示  --  -100k
                    等於: 不須要添加符號 --  100k
            大小
                    M 必須大寫(10M)
                    k 必須小寫(20k)
                    c 表示字節數
4)按文件日期
        建立日期:-ctime -n/+ n
                -n: n天之內
                +n: n天之外
        修改日期:-mtime -n/+n
        訪問日期:-atime -n/+n
5) 高級查詢
        find ./ -type d -exec shell命令 {} \;
                 find ./ -type d -exec ls -l {} \;
        find ./ -type d -ok shell命令 {} \;
                find ./ -type d -exec ls -l {} \;
        find ./ -type d -ok shell命令 {} \;
                find ./ -type d -ok ls -l {} \;
                        ok比較安全, 特別是在執行rm刪除文件的時候.
        find ./ -type d | xargs shell命令
                find ./ -type d | xargs ls -l

複製代碼

5. grep

l    grep -r(有目錄) 「查找的內容」 搜索的路徑
                -r參數, 如果目錄, 則能夠遞歸搜索
                -n參數能夠顯示該查找內容所在的行號
                -i參數能夠忽略大小寫進行查找
                -v參數不顯示含有某字符串
2    搜索當前目錄下包含hello world字符串的文件
                grep -r -n "hello world" ./    ------顯示行號
                grep -r -i -n "HELLO world" ./  -------忽略大小小查找
3    先使用find命令查找文件, 而後使用grep命令查找哪些文件包含某個字符串
                find . -name "*.c" | xargs grep -n "main" 
              
複製代碼

6.壓縮工具

l    gzip和bzip2
         不能壓縮目錄,只能一個一個文件進行壓縮,壓縮以後會使原文件消失
             gzip *    壓縮當前目錄下全部的文件, 可是目錄不能壓縮
             gunzip *  解壓當前目錄下全部的.gz文件
             bzip2 *  壓縮當前目錄下全部的文件, 可是目錄不能壓縮
             bunzip2 * 解壓當前目錄下全部的. bz2文件
2    tar工具(*****)
         相關參數說明
             z:用gzip來壓縮/解壓縮文件
             j:用bzip2來壓縮/解壓縮文件
             c:create, 建立新的壓縮文件, 與x互斥使用
             x:從壓縮文件中釋放文件, 與c互斥使用
             v:詳細報告tar處理的文件信息
             f:指定壓縮文件的名字
             t: 查看壓縮包中有哪些文件
3    壓縮:
         tar cvf 壓縮包名字.tar 原材料[要打包壓縮的文件或目錄]
         tar zcvf 壓縮包名字.tar.gz 原材料[要打包壓縮的文件或目錄]
         tar jcvf 壓縮包名字.tar.bz2 原材料[要打包壓縮的文件或目錄]
4    解壓縮:
         tar  xvf  已有的壓縮包(test.tar.gz)tar
         tar  zxvf  已有的壓縮包(test.tar.gz)
         tar  jxvf  已有的壓縮包(test.tar.bz2)
         解壓到指定目錄:添加參數 -C(大寫)
             tar zxvf test.tar.gz -C 解壓目錄(./mytest)
5    查看壓縮包中有哪些文件
         tar -tvf test.tar        
6    zip工具
         壓縮:zip -r 壓縮包名 要壓縮的文件(含文件或目錄)
             壓縮目錄須要使用參數-r
             使用該命令不須要指定壓縮包後綴
            zip -r xxx file dir ---生成xxx.zip文件
         解壓縮:unzip壓縮包名
             解壓縮到指定目錄:添加參數 –d 解壓目錄
                 unzip xxx.zip -d /home/itcast/test/day1
            注意:解壓目錄若不存在則會建立.

複製代碼

7.軟件的安裝卸載

1.在線安裝
         軟件安裝:sudo apt-get install 軟件名
         軟件卸載:sudo apt-get remove 軟件名
         更新軟件列表:sudo apt-get update
         清理安裝包:sudo apt-get clean
             清理的是緩存路徑:/var/cache/apt/archives
2 軟件包安裝
         在Ubuntu系統下必須有deb格式的安裝包
         軟件安裝
             sudo dpkg -i xxx.deb
         軟件卸載
             sudo dpkg –r 軟件名

複製代碼

8.vim

1). 三種基本工做模式:命令模式、文本輸入模式、末行模式node

2). 命令模式:用戶按下ESC鍵, 就可使vi進入命令模式下python

  • 保存退出
快捷鍵 操做
ZZ 保存退出
  • 代碼格式化
快捷鍵 操做
gg=G 代碼格式化
  • 光標移動
快捷鍵 操做
h 光標左移
j 光標下移
k 光標上移
l 光標右移
M 移動光標到中間行
gg 光標移動到文件開頭
G/L 光標移動到文件末尾的行首
O 光標移到行首
$ 光標移到行尾
nG 行跳轉,例12G,跳到12行處
  • 刪除命令
快捷鍵 操做
x 刪除光標後一個字符,至關於Del
X 刪除光標前一個字符,至關於Backspace
dw 刪除光標開始位置的字,包含光標所在字符
D[d$] 刪除光標後本行全部內容,包含光標所在字符
dd 刪除光標所在行(本質實際上是剪切)
ndd 從光標當前行向下刪除指定的行數,如15dd
v/ctrl+v 使用h、j、k、l移動選擇內容,而後按d刪除其中ctrl+v是列模式,v爲非列模式
  • 撤銷和反撤銷命令
快捷鍵 操做
u 一步一步撤銷,至關於word文檔ctrl+z
ctrl-r 反撤銷,至關於word文檔的ctrl+y
  • 複製粘貼
快捷鍵 操做
yy 複製當前行
nyy 複製n行,如10yy
p 在光標所在位置向下新開闢一行,粘貼
P 在光標所在位置向上新開闢一行,粘貼
剪切操做 按dd或者ndd刪除,將刪除的行保存到剪貼板中,而後按p/P就能夠粘貼了
  • 可視模式
快捷鍵 操做
v/ctrl+v 使用h、j、k、l移動選擇內容;使用d刪除 使用y賦值 使用p粘貼到光標的後面 使用P粘貼到光標的前面
  • 替換操做
快捷鍵 操做
r 替換當前字符
R 替換當前行光標後的字符
  • 文本移動
快捷鍵 操做
>> 文本行右移
<< 文本行左移動
  • 查找命令
快捷鍵 操做
/ /xxxx, 從光標所在位置開始搜索,按n向下搜索,按N向上搜索
?xxxx, 從光標所在的到位置開始搜索,按n向上搜索,按N向下搜索

3). 文本輸入模式:從命令模式切換到文本輸入模式模式只需輸入以下命令:linux

快捷鍵 操做
i 在光標前插入
a 在光標後插入
I 在光標所在行的行首插入
A 在光標所在行的行尾插入
o 在光標所在的行的下面新建立一行,行首插入
O 在光標所在的行的上面新建立一行,行首插入
s 刪除光標後邊的字符,從光標當前位置插入
S 刪除光標所在當前行,從行首插入
按列模式插入 先按ctrl+v進入列模式,按hjkl移動選定某列,按I或者shift+i 向前插入,而後插入字符,最後按兩次esc

4). 末行模式:從命令模式切換的末行模式,輸入冒號(:)shell

  • 保存退出
快捷鍵 操做
q 退出
q! 強制退出,不保存修改內容
w 保存修改內容,不退出
wq 保存並退出
x 至關與wq
  • 替換操做

下面表格中old表示原字符串,new表示新字符串vim

快捷鍵 操做
:s/old/new/ 光標所在行的第一個old替換爲new
:s/old/new/g 光標所在行的全部old替換爲new
:m, ns/old/new/g 將第m行至第n行之間的old所有替換成new
:%s/old/new/g 當前文件的全部old替換爲new
:1, $s/old/new/g 當前文件愛你的全部old替換爲new
:%s/old/new/gc 同上,可是每次替換須要用戶確認
  • 快速翻屏
快捷鍵 操做
ctr+u 向上翻半屏
ctrl+d 向下翻半屏
ctrl+f 向上翻一屏
ctrl+b 向後翻一屏

5). 分屏:在末行模式下執行shell命令,!shell命令 按下兩次esc能夠回到命令模式;從末行模式切換回命令模式,按兩次ESC,退格(backspace)或者回車鍵 * 在打開文件以後分屏windows

快捷鍵 操做
sp 當前文件水平分屏
vsp 當前文件垂直分屏
sp 文件名 當前文件和另外一個文件水平分屏
vsp 文件名 當前文件和另外一個文件垂直分屏
ctrl-w-w 在多個窗口切換光標
wall/wqall/xall/qall/qall! 保存/保存退出/保存退出/退出/強制退出分屏窗口
  • 在打開文件以前分屏:
分屏: vim -on file1 file2...
垂直分屏: vim -On file1 file2 ...
注意 : n能夠省略,有幾個文件就分即屏

複製代碼

6).vim的配置文件緩存

用戶級別配置文件
    ~/.vimrc, 修改用戶級別的配置文件只會影響當前用戶, 不會影響其餘的用戶.
    例如: 在用戶的家目錄下的.vimrc文件中添加
        set tabstop=4  ----設置縮進4個空格
        set nu        ----設置行號
        set shiftwidth=4  ---設置gg=G縮進4個空格, 默認是縮進8個空格
系統級別配置文件
    /etc/vim/vimrc, 修改了系統級別的配置文件將影響系統下的全部用戶.
    說明: 因爲linux是多用戶操做系統, 建議只在用戶級別的配置文件下進行修改, 不要影響其餘用戶.

複製代碼
相關文章
相關標籤/搜索