Linux-基礎命令

常用快捷鍵:
ctrl+d 退出終端
ctrl+c 退出程序
ctrl+z 當前程序后臺執(zhí)行,fg恢復
ctrl+a/Home 光標移至輸入行頭
ctrl+e/End 光標移至輸入行末
ctrl+w 向左刪除一個單詞
ctrl+k 向右刪除全部
ctrl+u 向左刪除全部
ctrl+y 粘貼上次刪除的指令
ctrl+l 清屏
Alt+space 向前刪除一個單詞
up/down 恢復之前輸入的指令

pwd - 返回用戶當前所處的路徑
table - 自動補全

cd 目錄 - 切換到指定目錄
cd .. - 回到上層目錄
cd /home - 回到主目錄
cd - 返回當前用戶主目錄
cd / - 返回系統(tǒng)目錄
cd ~ - 進入電腦根目錄
cd 相對路勁/絕對路勁 - 進入指定目錄

ls 目錄/絕對/相對 - 顯示目標當前/目標文件下的內容
-a 顯示當前文件下所有內容(包括隱藏)
-l/-lh 顯示當前文件下所有內容詳細信息 字節(jié)/kb
-r 倒序排序顯示
-R 遞歸顯示
-S 從大到小排序
-Sr 從小到大
-t 創(chuàng)建時間排序
-RS 遞歸從大到小

mkdir 目錄名/相對/絕對 - 當前/指定目錄下創(chuàng)建目錄
mkdir -p 遞歸創(chuàng)建目錄,如果不存在就創(chuàng)建
mkdir -p 目錄/{目錄1,目錄2}/{目錄1,目錄2,目錄3} 遞歸遍歷創(chuàng)建

touch 文件名/相對/絕對 - 當前/指定目錄創(chuàng)建指定文件
cat 讀取文本信息
tac 逆序讀取文本信息

vim 寫入操作
1.vim 文件名 - 打開文件
2.按i輸入內容
3.按Esc退出輸入模式
4.wq保存并退出

rm - 刪除文件
rm 文件路徑 - 刪除指定文件,y確定/n取消
rm -f 文件路徑 刪除不詢問,直接刪
rm -r 文件夾路徑 刪除指定文件夾

-f 強制
-i 詢問
-n 不覆蓋

rmdir 文件夾路徑 刪除指定文件夾(必須為空)

cp - 拷貝
cp 文件路徑1 文件路徑2 - 將文件1復制到文件2
不存在就創(chuàng)建 存在就詢問
cp 文件路徑 文件夾路徑 - 將文件復制粘貼到指定文件夾中
cp -r 文件夾1 文件夾2 將文件夾1所有內容復制到文件夾2中

mv 文件路徑1 文件路徑2 - 將文件1移動到文件2
如果前面路徑相同,就相當于重命名
mv 文件 文件夾 - 將文件直接移動到指定文件夾
mv 文件夾路徑1 文件夾路徑2 將1移動到2(非空也行)

6.history指令 獲取歷史記錄(指令的歷史記錄) history .顯示當前系統(tǒng)已經(jīng)執(zhí)行過的所有的指令#如果想要顯示歷史記錄的時候顯示指令執(zhí)行的時間需要修改-/.bashrc文件:export HISTTIMEFORMAT-" [%y-m-%d%T]" 1#修改完成后需要通過指令: source-/.bashrc去執(zhí)行這個配置文件, 最后歷史記錄的時間才會生效

創(chuàng)建鏈接:
1)創(chuàng)建軟連接(掌握)
ln -s 源文件路徑 軟連接文件地址 - 給源文件在指定位置創(chuàng)建一個軟連接(本質就是保源文件的絕對地址,可以理解為windows的快捷方式)
注意:必須寫絕對路徑!移動或者刪除,軟連接無效

2)創(chuàng)建硬鏈接
In 源文件路徑 硬連接文件地址 -給源文件在指定位置創(chuàng)建一個硬鏈接
硬鏈接本質是新的引用,刪除或者移動不影響源文件,只是變?yōu)槠胀ㄎ募?/p>

進程相關指令
1)ps - 查看當前進程信息
ps -aux 查看當前所有進程信息
ps grep 進程名/ID - 根據(jù)進程名/進程id查看指定進程

2)top - 實時查看當前所有進程和系統(tǒng)信息
top -p pid1,pid2,...實時查看指定進程信息

3)free - 顯示當前內存信息,kb為單位
free 單位 - 顯示指定的單位顯示內存信息

4.kill指令
kill 進程id - 殺掉指定id進程
kill -1/-9/-15 進程id -
-1:不間斷重啟
-9:強制殺死進程
-15:正常結束

pkill 進程名 - 殺死指定進程名對應的程序
killall 進程名 - 殺死和進程名相關的所有進程

5)uptime 獲取系統(tǒng)信息

用戶管理
一個Linux操作系統(tǒng)可以有多個user,也可以有多個group;

users - 查看當前用戶
groups - 查看當前分組
groupadd 分組名 - 創(chuàng)建分組(管理員才能創(chuàng)建,可以通過查看/etc/group 文件查看所有分組)

useradd 戶用名 - 添加指定用戶(1.用戶創(chuàng)建成功后系統(tǒng)會自動在/home目錄下創(chuàng)建一個和用戶名同名的文件夾;2.會自動創(chuàng)建和用戶名同名的分組,并且將當前的用戶添加到分組中)

useradd -G 分組1,分組2,....創(chuàng)建指定用戶,并且將用戶添加到指定分組中,
usermod -G分組列表 用戶名 -修改分組 root才有權限

passwd 用戶名 - 修改密碼 root才有權限
passwd - 修改當前賬戶

su 用戶名 - 切換用戶(root不要密碼,其他用戶要密碼)

sudo - 在命令前sudo是以管理員身份執(zhí)行指令
注意:不是所有用戶都可以添加sudo命令
如果想用sudo必須添加配置
a.ubuntu:將需要有管理員身份的賬號添加到sudo分組中
b.redhat 和 centos:在/etc/sudoers配置文件中添加代碼:

Allow root to run any commands anywhere

root ALL=(ALL) ALL (默認的)
xiaoming ALL=(ALL) ALL (添加的)

11.文件權限
默認情況下文件和文件夾的權限:文件所有者有讀寫權限,同組用戶和其他用戶都是只讀權限

1)chmod指令
chmod權限值 文件路徑 - 將指定文件的權限修改成指定值

權限: rwx r-- rw-
權限二進制:111 100 110
權限值: 7 4 6
chmod [a,u,g,o]/[+-]/[r,w,x] 文件地址 - 給指定用戶添加或刪除指定權限
a - 所有用戶
u - 文件所有者
g - 同組用戶
o - 其他用戶

  • 添加權限
  • 刪除權限
    

r - 讀權限
w - 寫權限
x - 執(zhí)行權限
chmod a-x 文件地址 刪除所有用戶的執(zhí)行權限
chmod u+w 文件地址 給文件所有者添加寫的權限

12.日志管理
1)顯示文件內容

a.cat指令 - 直接顯示文件中所有的內容

cat 文件 - 直接查看文件所有內容

總結: 查看文件內容的時候可以加參數(shù)-n,讓內容在顯示的時候顯示行號

b.查看部分內容

head N 文件地址 - 顯示指定文件前N行內容(-n參數(shù)無效)

tail N 文件地址 - 顯示指定文件最后N行內容(-n參數(shù)無效)

c.分頁顯示

less 文件 - 按頁顯示文件內容(通過快捷鍵控制內容顯示過程; 文件內容不會打印到shell/終端里)

less -N 文件 - 按頁顯示文件內容,每次翻頁的時候翻N行

more 文件 - 按頁顯示文件內容(通過快捷鍵控制內容顯示過程; 文件內容會打印到shell/終端里)

more -N 文件 - 按頁顯示文件內容,每次翻頁的時候翻N行

快捷鍵:

- 按 j 向下一行

- 按 k 向上一行

- 按 f 向下翻一頁

- 按b 向上翻一頁

- 按 g 到全文開頭

- 按 G 到全文結尾

- 按 Q 退出 
2)結果的處理

凡是有的打印結果的指令,我們都可以通過相關指令對應結果進行處理

a. 管道 - |

如果需要對某一個指令的結果使用另外的指令進行二次處理的時候,就需要用到管道(|)

b.sort - 排序

sort - 從小到大排序(將一行內容作為一個字符串,按字符串大小對應內容進行排序,默認不區(qū)分大小寫)

cat a.txt |sort      # 對a.txt的文件內容從小到大排序顯示

sort的參數(shù):
-r   - 逆序
-nk 1  - 數(shù)值大小排序
-nk 2  - 字符大小排序(默認)

cat a.txt|sort -nk 1    # 對a.txt的文件內容按數(shù)字大小從小到大排序
cat a.txt|sort -rnk 1    # 對a.txt的文件內容按數(shù)字大小從大到小排序
cat a.txt|sort -nk 2    # 對a.txt的文件內容按字符大小從小到大排序(默認)
cat a.txt|sort -rnk 2    # 對a.txt的文件內容按字符大小從大到小排序
c.uniq -去重

uniq - 只能將緊挨著的相同行去掉重復的(如果需要去掉所有重復的行,先排序將相同的行放到一起)

cat a.txt|uniq     # 去掉a.txt文件內容中相鄰重復的行
cat a.txt|sort|uniq   # 去掉a.txt文件內容中所有重復的行

uniq的參數(shù)
-c     - 重復次數(shù)
d.awk - 獲取列

awk '{print $N}' - 獲取內容中第N列的數(shù)據(jù)

history|awk '{print $2}'    # 獲取歷史記錄第2列的內容
history|awk '{print $2,$3}'  # 獲取歷史記錄第2列和第3列的內容

練習:

history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3    # 統(tǒng)計最常用的3個指令及其使用次數(shù)
3)輸出重定向 - >/>>

執(zhí)行有打印結果的指令 > 文件地址 - 將指定指令執(zhí)行的結果保存到指定文件中(先清除原文件內容再添加)

執(zhí)行有打印結果的指令 >> 文件地址 - 將指定指令執(zhí)行的結果保存到指定文件中(直接將結果追加到原文件中)

history > a.txt     #將當前歷史記錄直接保存到a.txt文件中

# 將最常用的3個指令及其使用次數(shù)保存到a.txt文件中
history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3 > a.txt  
4)統(tǒng)計

wc -c/-w/-l 文件地址 - 統(tǒng)計指定文件中字符/單詞/行的數(shù)量

5)查找
grep - 找內容

a. grep 內容 文件地址 - 在指定文件中查找指定內容(返回文件中所有包含指定內容的行)

grep you a.txt    # 獲取a.txt中包含you的所有的行

grep的參數(shù):
-n      - 顯示結果的時候顯示行號
-i      - 查找內容的時候忽略大小寫
-E      - 按正則表達式進行匹配   
          使用方法: grep -E '正則表達式' 文件
          注意: Linux操作系統(tǒng)中正則表達式不支持:\d,\D,\w,\W,\s,\S,\b,\B; 其他語法都支持
-v      - 忽略字段
          grep you a.txt  -v  # 獲取a.txt中不包含you的所有的行

b. 執(zhí)行有打印結果的指令 |grep 內容 - 在指令執(zhí)行結果中查找指定內容

c. grep -r 內容 文件夾地址 -在指定文件夾中所有的文件中查找指定內容

find - 找文件

find 文件夾路徑 -name 文件名 - 在指定文件夾下按文件名找指定文件

# 找指定文件名
find dir1 -name 'test1.py'      # 在文件夾dir1找名字是test1.py的文件
find dir1 -name '*.txt'         # 在文件夾dir1找后綴是txt的所有文件
find dir1 -name 'test*.txt'
find dir1 -name 'test*'
find dir1 -name '*c.txt'

find 文件夾路徑 -size +/-文件大小 - 在指定文件夾下找文件大小滿足條件的所有的文件

find dir1 -size +4k       # 查找在文件夾dir1中所有大于4k的文件
find dir1 -size -4k       # 查找在文件夾dir1中所有小于4k的文件
find dir1 -size +5k -size -10k  # 查找在文件夾dir1中所有大于5k并且小于10k的文件(文件大小如果是小數(shù),算的時候向上取整)
find dir1 -size +4k -name '*.txt'   # 查找在文件夾dir1中所有大于4k的txt文件
查指令

which 指令名 -精確查找當前指令對應的文件的路徑

whereis 指令名 -查找和指定指令相關的所有的文件的路徑

man 指令名 -獲取指定指令的使用手冊

指令名 — help -獲取指定指令的幫助文檔

13.網(wǎng)絡管理

ifconfig 查看網(wǎng)卡狀態(tài)
netstat -natp 查看當前系統(tǒng)所有網(wǎng)絡連接狀態(tài)
netstat -natp|grep 端口號 指定端口網(wǎng)絡狀態(tài)

ping地址 - 給指定地址對應的服務器發(fā)送數(shù)據(jù)(檢測網(wǎng)絡暢通)
ping -i 時間 地址 間隔時間i就會ping一次
ping -c 次數(shù) 地址 設置ping的次數(shù),默認無限

wget 地址 - 下載

14.壓縮和解壓縮、歸檔和解歸檔

壓縮可以讓文件變小,一般在文件需要傳輸前都會對文件進行壓縮。注意,壓縮指令只針對一個文件

歸檔可以將一個文件夾變成一個文件(tar),

歸檔和解歸檔:tar
tar -cvf 歸檔文件地址 需要歸檔的文件夾/文件地址 -對指定文件/文件夾進行歸檔
tar -xvf 歸檔文件地址 - 解歸檔
tar -xvf 歸檔文件地址 -C 目標地址 - 解歸檔到指定位置

2)壓縮和解壓 gzip,gunzip,xz
gzip 文件地址 - 壓縮指定文件,壓縮后刪除原文件
注意:壓縮后生成.gz文件
gzip -c 文件地址 > 壓縮文件地址 壓縮后保留原文件
gzip -d 壓縮文件地址 -解壓指定文件 (加 -c >地址,保存源文件)
gzip -l 列出壓縮文件中的內容

b.gunzip
gunzip 壓縮文件地址-解壓(刪除源文件)

c.xz
xz 文件地址 - 壓縮指定文件(壓縮后后綴.xz)
xz -d 壓縮文件地址 - 解壓指定文件

包管理工具: yum
yum search:搜索軟件包,例如yum search nginx
yum list installed:列出已經(jīng)安裝的軟件包,例如yum list installed I grep zlib.
yum install:安裝軟件包,例如yum install nginx.
yum remove:刪除軟件包,例如yum remove nginx。
yum update:更新軟件包,例如yum update可以更新所有軟件包,而yum update tar只會更新tar
yum check-update:檢查有哪些可以更新的軟件包。
yum info :顯示軟件包的相關信息,例如yum info nginx

源代碼構建安裝

  1. wget安裝包的路徑 -下載安裝包
  2. gunzip/tar壓縮包 -解壓、解歸檔
    3.(設置安裝路徑)
  3. cd安裝包目錄執(zhí)行: make && make install -編譯安裝包程序-添加快捷方式
    5,給可執(zhí)行文件添加軟連接到usr/bin目錄下壓縮解壓縮和歸檔/解歸檔-gzip/gunzip/xz/ tar發(fā)送遠程文件-scp指令scp文件root@IP地址:服務器上保存被發(fā)送文件的路徑

15.軟件安裝和包管理工具

Linux的包管理工具是yum

Snipaste_2019-12-18_14-20-37.png

vim的使用

1.vim的三種模式

命令模式:末尾沒冒號也沒插入的時候
(另外兩種情況按1/2次Esc進入)

編輯模式:末尾會顯示‘--插入--’/‘--insert--’,并且可以對文件進行編輯
(在命令模式下按i就可以進入編輯模式)

末行模式:末尾顯示冒號,并且冒號后邊可以輸入內容
(在命令模式下輸入冒號就可以進入末行模式)

2.vim的配置

通過編輯~/.vimrc文件或者/etc/vimrc文件可以對vim編輯器進行相關配置

set nu
set ts=4
set autoindent
set expandtab
set ruler
set nohls
syntax on

3.基本操作

1)保存和退出
所有保存和退出的指令都是末行模式下執(zhí)行的
w - 只保存(相當于ctrl+s)
q - 直接退出(只有內容全部保存了才能退出,否則只能q!強退)
wq - 先保存再退出
注意:強制執(zhí)行在指令后加!

2)所有光標操作對應的指令都是在命令模式下執(zhí)行的

^ - 直接將光標移動到行首 home
- 直接將光標移動到行尾 end G - 移動到文件末尾 gg - 移動到文件開頭 行號G - 移動到指定行號的位置 ctrl + b 下一頁 ctrl + f 上一頁 ctrl + y 下一行 ctrl + e 上一行 0 - 光標移動到行首 - 光標移動到行尾
w - 光標移動到下一個單詞

3)文本操作
一下指令前面如果沒有冒號表示在命令模式下執(zhí)行,有冒號的在末行模式下執(zhí)行

dd - 刪除當前光標所在的行
數(shù)字dd - 數(shù)字如果是N,從光標所在的位置開始刪N行
:%d - 末行模式下%d,刪除所有
d0 - 從光標刪除到行首
d$ - 從光標刪除到行尾
dw - 刪除一個單詞

u - 撤銷
ctrl+r 反撤銷
yy - 復制光標所在的行
數(shù)字yy - 如果數(shù)字是N,從光標所在的位置復制N行
p -粘貼

4)查找
/正則 - 查找當前文件中符合正則的內容(結果可以用n和N來切換)

vim中正則的要求:
1)python正則中所有語法有效
2)單獨使用有特殊功能的符號,在使用的時候加\才有效
r'd+'   ->   /\d\+
r'\d{3}'  ->  /\d\{3}
r'and|or'  ->  /and\|or

: 1,$s/被替換的對象對應的正則/替換內容/參數(shù) - 將文件中正則匹配到的內容替換成指定內容

例子:1,$s/\d/shabi/gi
參數(shù):
g    -    全局匹配(替換所有,默認一行一個)
i    -    匹配時忽略大小寫
c   -    替換時給出提示
e   -    忽略錯誤

高級操作

1)比較文件
vim -d 文件路徑1 文件路徑2
2)同時打開和編輯多個文件
vim 文件路徑1 文件路徑2...

#1.切換窗口
在末行模式下輸入:ls 可以查看當前打開的所有文和文件對應的標號
在末行模式下輸入:b標號  可以將當前窗口中的內容切換到指定標號對應的文件內容

#2.窗口的拆分
在末行模式下輸入: sp/vs  可以將當前窗口垂直/水平方向進行拆分;拆分后可以在命令窗口按ctrl + w來切換窗口

修改阿里鏡像源

image.png

在unbuntu配置sublime-text3就python環(huán)境
https://blog.csdn.net/hiudawn/article/details/81042284

定時任務 - at 命令
預約任務:只會執(zhí)行一次

3天后的下午五點執(zhí)行命令
at 5pm+3days
命令

atq 查看at的任務隊列

atrm 編號 - 刪除指定任務

在星期五的23點59分查找所有.log文件刪掉
59 23 * * 5 find / -name ".log" -delete
59 23 * * 5 find / -name "
.log" --exec rm -f {} ;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1、Linux上的文件管理命令有哪些以及常用方法shell:shell負責接收用戶輸入的命令并進行解釋,將需要執(zhí)行...
    乀koala閱讀 901評論 0 3
  • 1、Linux命令基礎格式 [root@localhost~]# 介紹如下: []:提示符的分隔符號,沒有特殊含...
    秋目閱讀 516評論 0 1
  • netstat查看端口 # 參數(shù)-a (all)顯示所有選項,默認不顯示LISTEN相關-t (tcp)僅顯示tc...
    雷哥說閱讀 550評論 0 1
  • <1>切換工作目錄:cd cd ~ 切換到當前目錄的主目錄 cd . 切換到當前目錄 cd .. 切換到上級...
    輸過敗過小哥我何曾怕過閱讀 196評論 0 0
  • WinRAR - 最新版本的更新 版本 5.50 1. WinRAR 和命令行 RAR 默認使用 RAR ...
    王舒璇閱讀 2,510評論 0 2

友情鏈接更多精彩內容