1. 程式人生 > >Linux常用命令與常用操作

Linux常用命令與常用操作

文件的 登陸 找文件 相關 日誌 -- 灰色 常用操作 單個字符

常用命令

普通命令

file               查看文件類型
pwd                打印當前目錄
ping               發數據包
touch              創建文件
history            查看歷史命令
clear/cls          清理終端顯示
echo *             使用echo打印目錄所有文件和文件夾
uname-r            查看Linux內核版本
which [file]       看文件的絕對路徑
rebot             重啟
halt              關機
poweroff          關機
echo $RANDOM       打印一個隨機數($RANDOM是一個隨機數)
env                查看環境變量
$PATH              執行命令的環境變量
ln -s         建立軟鏈接
df -h 磁盤使用狀況 free 看內存 -k 以k單位顯示 -m 以m單位顯示 uptime 機器負載情況,登錄情況 curl https://www.baidu.com 向url發起get請求

查看文件內容

cat            查看文件內容
    -n    顯示行號
head        只看前幾行
tail        只看後幾行
more        一頁頁查看(往下)
less    
    ctrl+F    往前翻
    ctrl+B    往後翻

目錄相關

cd            改變目錄
mkdir         創建目錄
    
-p 層疊創建 ls 查看目錄 -a 列出所有目錄(包含隱藏的) -d 僅列出目錄本身 -l 列出詳細數據、屬性、權限 # 簡寫 ll -h 以人類可以方式列出 例子: ls -s-hl

命令別名

alias lufei = "echo hello"          命令別名
unalias    lufei                    取消命令別名

用戶/組相關

useradd [參數] [用戶名]            新增用戶
    -d     指定home目錄
    
-g 指定group -G 指定所屬組列表 usermod [參數] [用戶名]   修改用戶 -d 修改用戶家目錄 -g 修改用戶gid -a -G 追加某個組到用戶 userdel [參數] [用戶名] 刪除用戶 -r dev 刪除用戶和家目錄 groupadd [參數] [用戶名] 新建組 passwd [用戶名] 設置密碼 chmod [-R] [file] 改變某個文件/目錄的權限 chown [所屬用戶]:[所屬組] [file]   修改文件或目錄所屬的用戶和組 例子: chmod 704 /home/dev20 chmod 704 /home/dev20 -R # 層疊改變權限 chown dev20:dev20 wangyuxing # 修改wangyuxing屬的用戶和組為dev20

文件操作相關

cp [源文件] [目標文件]           復制文件
mv [源文件] [目標文件]            移動或重命名文件
rm                                 刪除文件
    -r  遞歸刪除文件和目錄
    -f  強制刪除
    -i    需要確認刪除
            切記勿使用    rm -rf /

查找文件

find / -name [名字]
find / -type [類型參數]
        # 常用文件類型
            -          普通文件
            d        目錄文件
            l         鏈接文件
            b         塊設備文件
            c         字符設備文件
            p         管道文件
find / -perm [權限]
find . -name *.e -exec rm {}\;    找到後(...)刪掉
find / -mtime +1        找2天前的文件(不包括2當天)
find / -mtime -1        找2天內的文件(不包括2當天)
find / -mtime 0             找當天的文件

壓縮與打包

壓縮
    gzip [file]        壓縮
    gzip -d [file]    解壓

打包
    tar -cf [包名] [file]            打包
    tar -xvf [包名]                    解包
    tar -tf [包名]                    查看包內容

打包加壓縮
    tar -zcf [壓縮包名] [要壓縮打包的文件]        打包加壓縮
    tar -tf [壓縮包]                            查看壓縮包內容

grep命令

是強大的文本搜索工具,支持正則表達式
它對文本逐行查看,如果找到匹配的模式,就打印除包含此模式的所有行

命令格式

grep [模式] [被查找的文件]                # 被查找的文件可以是多個
其他命令 | grep [模式] [被查找的文件]

例子:
    cat /var/log/secure|grep sudo

常用參數

-c    不打印內容,打印匹配到的行數
-i    不區分大小寫匹配
-n       顯示匹配到的行的行號
-v    打印除匹配行之外的其他行

常用的正則表達式

^        開頭
$        結尾
.        任意單個字符
.*        任意字符
^$        空白

幫助命令

man    [command]                查看幫助信息
[command] -h或--help           查看幫助(有些命令-h不是查看幫助)
help                            用來查看shell內建命令

su與sudo

su

從一個登陸的用戶切換到另一個用戶,
超級用戶切換普通用戶不需要密碼,反之,需要密碼

su dev 與 su - dev 的區別

  su dev 保持舊的環境變量 (自己的理解就是,保持舊的所在路徑)
  su - dev 執行用戶的環境變量(切換到dev的家目錄)

sudo

根據預先設置好的權限文件(/etc/sudoers),只需要驗證自己的密碼,就可以指定用戶執行命令

sudo -l                列出當前用戶可以執行那些命令

常用快捷鍵

ctrl+u            把光標前的東西刪掉
ctrl+k            把光標後的東西刪掉
ctrl+a            移到命令最前
ctrl+e            移到命令最後
ctrl+r            歷史命令搜索    
tab鍵             用於自動補全命令/文件名/目錄名    (按兩下可以提示)
ctrl + l         清理終端顯示 
ctrl + c          終止當前操作

常用文件

/var/log/messages        系統的日誌程序(文件)
/var/log/secure            登錄信息文件
/var/spool/cron            定時任務目錄
/etc/fstab                硬盤掛載文件
/etc/profile            配置環境變量

/etc/passwd                用戶信息
/etc/group                組信息

/etc/shadow                密碼文件
/etc/sudoers            sudo配置文件

目錄樹

/         根目錄
/bin      可執行文件,常用命令
/sbin     系統類工具
/etc      配置文件目錄
/dev      設備目錄
/proc     系統進程信息
/tmp      臨時文件存放目錄
/usr      用戶使用的工具和配置
/home     所有用戶的家目錄,但root的家目錄是/root
/boot     引導程序和內核目錄
/lib      系統庫文件

通配符

*        匹配0-無窮個任意字符
?        匹配一個任意字符

ls顏色

當輸入ls後,展現出的顏色的類型

綠色        可執行文件
紅色        壓縮文件
藍色        目錄
白色        一般性文件
淺藍色        鏈接文件    建立軟鏈接文件    ln -s /var/log/messages msg
紅色閃爍    表示鏈接的文件有問題
黃色         設備文件
灰色        其他文件

ls文件類型

ls -al後

常用文件類型

-          普通文件
d        目錄文件
l         鏈接文件
b         塊設備文件
c         字符設備文件
p         管道文件

權限

r    可讀    4
w     可寫     2
x     可執行     1
-     無權限     0

重定向

文件描述符

0     代表標準輸入
1     代表標準輸出
2     代表錯誤輸出

重定向符號

>    重定向符號,清空原文件所有內容
>>   追加重定向,把文字追加到文件的結尾

標準、錯誤一起重定向

有標準輸出則標準輸出重定向,有錯誤輸出則錯誤輸出重定向

echo "python" >log.txt 2>&1
echo "python" >log.txt 2>>&1        # 以追加的方式重定向

例子

ls 1>std.log           # 標準輸出將會輸入到std.log中
efd 2>error.log        # 錯誤輸出將會輸入到error.log中
echo "python" >> log.txt       (>>是追加到文件的意思)

管道pipe|

管道是一個操作符,符號是"|",把輸入和輸出重定向結合到一起將一個命令的輸出立即作為另一個命令的輸入

例子

echo "python"|cat -n                 以行號輸出python
echo 123456|passwd --stdin dev10     給dev10修改密碼

Linux常用命令與常用操作