Linux基本命令四
1.vi 進(jìn)入文件后的命令詳解
1)命令模式:
dd刪除當(dāng)前行
dG刪除當(dāng)前光標(biāo)所在的行已經(jīng)以下的所有行
ndd刪除當(dāng)前光標(biāo)所在的行已經(jīng)以下的n-1行,n代表數(shù)字
gg跳轉(zhuǎn)到第一行的行首
G跳轉(zhuǎn)到最后以后的行首
shift+$跳轉(zhuǎn)到光標(biāo)所在行的行尾
0跳轉(zhuǎn)到光標(biāo)所在行的行首
gg+dG組合命令,可以真正清空文件,清空后的文件大小為0字節(jié),但是如果文件內(nèi)容很大,加載會(huì)很慢
cat /dev/null > xxx.log也可以真正的清空文件,推薦使用
echo '' > xx.log偽清空,最后文件還是有一個(gè)字節(jié)的大小
-rw-r--r--. 1 root root 1 Jun 23 05:12 test.log2)尾行模式
:wq保存文件的修改并退出
:wq!強(qiáng)制保存文件的修改并退出
:q!強(qiáng)制退出文件,放棄之前的修改
set nu顯示行號(hào)
set nonu關(guān)閉顯示行號(hào)
:/xxx搜索xxx,按n搜索下一個(gè),N搜索上一個(gè)
2.權(quán)限
chown test:test test.log改變 文件的所屬用戶和用戶組
chmod 777 test.log改變文件的讀寫執(zhí)行權(quán)限
chown -R test:test aa改變文件夾的所屬用戶和用戶組
chmod -R 777 aa改變文件夾的讀寫執(zhí)行權(quán)限
特別注意:-R參數(shù),只有用在修改權(quán)限這邊,其他的命令都是-r
drwxr-xr-x. 2 root root 4096 Jun 14 14:52 Downloads -rw-r--r--. 1 root root 49565 Jun 14 22:43 install.log第一個(gè)字母代表:
d文件夾,-文件,l軟連接
后面的字母代表:r讀(4),w寫(2),x執(zhí)行(1),-沒有任何權(quán)限(0)
以這個(gè)為例:rwxr-xr-x.
三個(gè)為一組,rwx、r-x、r-x
第一組:rwx(7) 代表文件和文件夾所屬的用戶的權(quán)限:讀寫執(zhí)行
第二組:r-x(5) 代表文件和文件夾所屬的用戶組的權(quán)限:讀執(zhí)行
第三組:r-x(5)代表其他組的所有用戶對(duì)這個(gè)文件和文件夾的權(quán)限:讀執(zhí)行
在工作上一般,一般只在自己的家目錄做事情 和可以去的文件夾和文件。
一般都是對(duì)應(yīng)的用戶開啟對(duì)應(yīng)的服務(wù)
比如:用mysqladmin用戶開啟mysql服務(wù)
3.軟連接
相當(dāng)于window的快捷鍵
[test@Hadoop001 ~]$ ll drwxr-xr-x. 2 test bigdata 4096 Jun 23 05:59 test [test@Hadoop001 ~]$ ln -s test t [test@Hadoop001 ~]$ ll total 4 lrwxrwxrwx. 1 test bigdata 4 Jun 23 06:00 t -> test drwxr-xr-x. 2 test bigdata 4096 Jun 23 06:00 test
應(yīng)用場景:
1.多版本:多個(gè)版本的腳本文件夾,可以建立一個(gè)軟連接對(duì)外提供服務(wù),每次需要換版本的適合,刪除之前的軟連接,再重新創(chuàng)建連接到新版本的軟連接。
2.硬盤容量不足的情況:目錄所掛載大的磁盤容量不夠,需要把大的文件移動(dòng)到大容量的磁盤下去,但又不能影響之前的腳本運(yùn)行,可以把大文件mv到大磁盤容量的目錄下去,然后建立一個(gè)軟連接。
特別注意:所屬的權(quán)限 用戶 用戶組的變化
4.系統(tǒng)命令
1)
df -h用于顯示目前在Linux系統(tǒng)上的文件系統(tǒng)的磁盤使用情況統(tǒng)計(jì)[test@Hadoop001 ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 41G 3.4G 35G 9% / tmpfs 4.0G 72K 4.0G 1% /dev/shm /dev/sda1 1008M 62M 896M 7% /boot2)
free -m指令會(huì)顯示內(nèi)存的使用情況,包括實(shí)體內(nèi)存,虛擬的交換文件內(nèi)存,共享內(nèi)存區(qū)段,以及系統(tǒng)核心使用的緩沖區(qū)等[test@Hadoop001 ~]$ free -m total used free shared buffers cached Mem: 7993 383 7610 0 39 105 -/+ buffers/cache: 238 7755 Swap: 8191 0 81913)
top用于實(shí)時(shí)顯示 process 的動(dòng)態(tài)top - 06:15:58 up 1:18, 1 user, load average: 0.03, 0.01, 0.00 Tasks: 124 total, 1 running, 123 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 8185668k total, 393048k used, 7792620k free, 40292k buffers Swap: 8388600k total, 0k used, 8388600k free, 108276k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 19364 1548 1232 S 0.0 0.0 0:02.11 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
load average: 0.03,0.01,0.00代表1min,5min,15min系統(tǒng)負(fù)載情況
一般<10表示系統(tǒng)還行,>10系統(tǒng)負(fù)責(zé)高
5.解壓和壓縮
1)
zip文件
[root@Hadoop001 Desktop]# zip test.zip test.log壓縮文件
[root@Hadoop001 Desktop]# zip -r test.zip 1/*壓縮文件夾
[root@Hadoop001 Desktop]# unzip test.zip解壓文件
2)tar.gz文件
[root@Hadoop001 Desktop]# tar -xzvf xxx.tar.gz解壓文件
[root@Hadoop001 Desktop]# tar -czvf test.tar.gz test.log壓縮文件
[root@Hadoop001 Desktop]# tar -czvf test2.tar.gz 1/*壓縮文件夾
6.wget下載
yum install -y wget安裝wget
wget 鏈接地址下載連接
7.調(diào)度
crontab -e編寫調(diào)度任務(wù)
crontab - l查看編寫的調(diào)度任務(wù)[root@Hadoop001 opt]# crontab -l * * * * * /root/data.sh >> /tmp/data.log 分 小時(shí) 日 月 周
*表示 每
如果是每隔兩分鐘,則為
*/2
如果需要每10s執(zhí)行一次,那么只能修改shell腳本,循環(huán)調(diào)用6次,每次休眠10s
8.后臺(tái)執(zhí)行
nohup 命令 2>&1 &
例如:nohup ./date.sh >> /tmp/date.log 2>&1 &
2>&1將標(biāo)準(zhǔn)錯(cuò)誤重定向到標(biāo)準(zhǔn)輸出
nohup &后臺(tái)執(zhí)行
特別注意:./date.sh &并不是真正后臺(tái)執(zhí)行 ,它只是session級(jí)別的