linxu學習筆記——基本命令

which ls

設置alias 放在~/.bashrc

修改path vi /etc/profile,source /etc/profile

ctrl u 向前刪除

ctrl k 向後刪除

ctrl d 退出 logout exit

ctrl z 暫停 fg 恢復

ctrl c 取消,中斷

ctrl s 屏幕靜止、鎖定,後臺繼續運作,只是屏幕不顯示

ctrl q 屏幕恢復、解鎖

ctrl l 清屏

ctrl a 行首

ctrl e 行尾

mkdir -p

rmdir -p

cp -r 複製目錄

cat -A 查看txt

mv 沒有r

less j k 、ctrl+b f、g G、/ n N、?

chmod -R 權限繼承

chmod u= g= o= 其中不要帶有-,系統認爲減號

chown user:group :或 .

!ls 最近的一條ls命令

!301 history的id

chown -R 權限繼承

chattr + - a不能刪除rm和更改vi,mv 只能追加echo "11">>1.txt

chattr + - i保護,什麼都不能

lsattr -R

lsattr -d

chmod u+s S 對普通用戶有限制,有root無效,注意o權限

!$ 上一條命令最後一個

G 擴展組usermod useradd 該組有用戶的話,也可以刪除

gid最大一個往後排

usermod -L 鎖定用戶無法登錄,-U解鎖,可用useradd所有參數 u g G s d

mkpasswd yum install -y expect -l 12 -s 0 -c 4 -C 4 -d 4

echo "gce@1234" | passwd --sdtin aming 明文

echo -e "123456\n123456" | passwd aming -e識別\n爲換行,不加-e不識別,新密碼123456

su - -c "mkdir /tmp/dir123" aming

visudo

root           ALL=(ALL)                     ALL

aming          192.168.1.0/24=(root)       NOPASSWD: /bin/ls,command

用戶名&組名     來源            角色          命令,絕對路徑,逗號分隔,設置不需要密碼

sudo ls /root/ 需密碼,也可以不輸入密碼

sudo -l 查看擁有哪些權限

inode 屬性(大小,路徑,權限),inode分配完就算分區有空間,也無法創建文件

du -sh文件佔用磁盤空間的大小、塊的大小和ls -lh文件本身大小,顯示大小不同,因分區塊4K

du -sb和ls -lb顯示大小相同

cat /etc/filesystems

mke2fs -t/T ext4 -b 2048 -m 1 -L aming /dev/sdb1     比mkfs.ext4參數多

                塊大小 保留 標籤

df -T 查看分區類型

umount -l 強制卸載

/etc/rc.local 自動掛載命令

blkid uuid label ext4

defaults= rw,suid,dev,exec,auto,nouser,async

0 備份log

1 不備份log,意外斷電可恢復資料

1 修復,只能根分區

2 修復,優先級低一點

0 不修復,不重要或者分區太大,否則會影響啓動速度

mount -a 加載fstab中所有掛載

yum install -y vim-enhanced

vim +10 !$  光標在第10行



一般模式

j k 下上 h k左右 2j下2行

ctrl f 下翻頁 crtl b上翻頁 pageup pagedown

gg 首行 G行尾 100G

$行尾 0 行首(含行首的空白字符) ^行首(非空白)

x 先後刪除 X 向前刪除 4x 剪切

dd 刪除整行,剪切 3dd

p 向下粘貼 P 向上粘貼

u 撤銷,最多撤銷50次 ctrl r 反撤銷

yy 複製整行 3yy

v 可視模式 左右 上下 選擇 與x p合用


編輯模式

i 插入

esc 退出

I 光標在行首

a 光標在後面

A 光標在行尾

o 光標下一行

O 光標上一行


命令模式

:wq!

:set nu 顯示行號

:set nonu 取消行號

/keyword 查找,高亮,n下找 N上找

?keyword 查找,高亮,n上找 N下找

:1,$s/A/B/g 沒有g,只替換每行的第一個,$所有行

:%s/A/B/g  %=1,$ 整個文件

///脫義符號\,識別/

#///#///#    @///@///@ 不會產生歧義

:nohl 取消高亮


gzip file 壓縮後源文件刪除,只能壓縮文件,只留下file.gz 紅色 -1 -9 級別越高,速度越慢,比率越大,默認6

gzip file.gz 解壓後源文件刪除

bzip2 file 壓縮後源文件消失,只留下file.bz2 紅色,默認9

bzip2 -d file.bz2 解壓後源文件刪除

bzcat和zcat xzcat查看壓縮內容

gzip和bzip 都不能壓縮目錄

xz gzip bzip用法差不多


yum install -y xz gzip bzip2 zip unzip


zip file.zip file 源文件存在,可以壓縮文件和目錄

zip -r file.zip file1 file2 同時壓縮多個目錄

unzip file.zip 


tar --exclude file3 --exclude file4 -cvf file.tar file1 file2 dir1 源文件存在

tar -tf file.tar 查看

tar -xvf file.tar 解包

tar -C -xvf file.tar 指定解包路徑


tar支持gzip bzip2 xz

tar -zcvf 1.tar.gz 111 22 源文件存在

tar -C /tmp/ -zxvf 1.tar.gz 源文件存在,直接覆蓋

tar -tf 1.tar.gz


tar -jcvf 1.tar.bz2 111 222

tar -tf

tar -jxvf


tar -Jcvf 1.tar.xz 111 222

tar -tJf 查看

tar -Jxvf


rpm -ivh 全名

rpm -ivh --nodeps 全名,不依賴,少用

rpm -ivh --force 全名,強制安裝

rpm -e 包名

依賴的時候,同時安裝或卸載

rpm -Uvh 全名,升級


rpm -q 包名

rpm -qa 查詢所有已安裝

rpm -qa 包名 查詢包的全名

rpm -qa | grep vim 例外,可以查keyword

rpm -qa | grep 'vim*'

rpm -qi 包名,詳細信息

rpm -ql 包名,安裝了哪些文件

rpm -qf 絕對路徑,文件屬於哪個包

rpm -qf `which vim`


yum list yum源 /etc/yum.repos.d/CentOS-Base.repo

yum list | grep vim  @符號屬於已安裝過的

yum search 'vim'


yum remove 包名 不推薦加y,防止依賴刪除

yum update 包名 不推薦升級

yum upgrade 包名


yum groupinstall "包名" 安裝套件

yum grouplist | grep -i chinese

yum groupremove "包名"


yum install -y yum-plugin-downloadonly 下載插件

yum install vte --downloadonly --downloaddir=/tmp/  下載rpm未安裝過的rpm包

yum reinstall vte --downloadonly --downloaddir=/tmp/  下載已安裝的rpm包


源碼包安裝

yum install -y wget

/usr/local/src

wget http

tar

cd

cat install

cat readme

./configure --help 參看配置參數,模塊

./configure --prefix=/usr/local/apache2 指定安裝路徑

echo $? 返回碼 0代表OK

make 編譯,把源碼變成語言

make install 翻譯成系統識別的文件

ls /usr/local/apache2 查看生成目錄


rm -rf /usr/local/apache2 卸載,重新安裝,最好刪除壓縮目錄,重新解壓


history

cat ~/.bash_history 用戶操作命令歷史,用戶不同,歷史不同,默認1000條

echo $HISTSIZE

!! 上一條命令

!$ 上一條命令最後一個參數

!n 運行第n條命令

!c 最近一次以c開頭的命令


? 任意一個字符


jobs 查看ctrl z的命令

fg 優先調用+號,前臺

bg 後臺


env 查看系統變量

set 查看系統變量,包含自定義變量,更詳細

自定義變量 a=1;b=2,只在當前shell生效

變量名不能數字開頭,可以含有_,可以開頭_,不推薦大寫,避免用命令,關鍵字,系統變量大寫

c='ls /tmp/',*#也需要用單引號

d=`which vim` 命令使用反引號,引用命令的結果

e="$a"8 變量用雙引號

export a=1 全局申明,在其他bash,shell中生效

unset e 取消變量


vim /etc/profile 全局配置

source /etc/profile 申明,會加載/etc/profile.d/下的所有*.sh,自定義環境變量不推薦直接修改profile


vim /etc/bashrc PS1 UMASK 全局配置

echo $PS1 w:絕對路徑 


vim ~/.bash_profile 用戶配置文件 會調用.bashrc

vim ~/.bashrc 用戶配置文件alias 用戶登錄、打開新shell時執行


[0-9a-zA-Z]


cut -d: -f 3,4 /etc/passwd 分割,顯示第三、四段

cut -c 1-10 /etc/passwd 顯示第一個到十個字符


sort 默認asic排序

sort -t: -k3 -nr /etc/passwd n按數字 3,5 3到5,r倒序,字母比數字小,-u 去重


wc -l 行數

wc -w word數量,空白分隔

wc -m 字符數量,含換行符,空格


uniq 必須相鄰的行才能去重

uniq -c 重複次數

sor file | unqic -c


tee 重定向

echo "123456" | tee 1.txt 會顯示結果 與 > 的區別


tr 替換

echo "abcd" | tr 'a-z' 'A-Z' 一一對應 ‘ab’ 'AB'


split 切割

split -b 50m 1.txt 按大小 默認單位b,可以省略 (x)aa xab

split -l 100 1.txt 按行


&& 並且 成功-執行 不成功-不執行

|| 或者 成功-不執行 不成功-執行

;      (不)成功-執行


grep --color 'root' /etc/passwd 高亮

echo "alias cg='grep --clort'" >> ~/.bashrc 

-n 顯示行數

-c 計數幾行

-v 不包含keyword

-A 2 多顯示下兩行

-B 2 多顯示上兩行

-C 2 多顯示上下兩行

-r 'root' /etc/* 目錄下搜索關鍵字,含文件目錄名字,內容

-rh 不顯示最前面目錄路徑

cg '[0-9]' 1.txt

cg '[a-zA-Z]' 1.txt

cg -v '[a-zA-Z]' 1.txt 不包含

cg '^[a-z]' 1.txt 以字母開頭

cg '[^0-9]' 1.txt 不包含純的數字,不包含空行

cg '^[^0-9]' 1.txt 不以數字開頭的行,不包含空行

cg '^$' 1.txt 顯示空行

cg 'r.o' 1.txt 任意一個字符,包含空格,特殊符號

cg 'r*o' 1.txt 0個或多個前面的字符 o也符合

cg 'r.*o' 1.txt r開頭o結果都算,中間不管什麼,任意個字符

cg 'r\?o' 1.txt 脫義字符  ==cg -E 'r?o'  0個或1個前面的字符

grep -E ==egrep 


egrep 'r+o' 1.txt 1個或多個前面的字符







 


































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章