CentOS7常用命令一

 

目錄

 

一、SecureCRT相關知識

二、vim常用知識

三、關機/重啓命令

四、用戶/用戶組管理

1,用戶管理

1.1,添加用戶

1.2,指定/修改密碼

1.3,刪除用戶

1.4,查詢用戶信息

1.5,切換用戶

1.6,查看當前登陸的賬戶

2,用戶組

2.1,增加組

2.2,刪除組

2.3,增加用戶屬於測試組

2.4,修改用戶組

3,用戶配置文件/組配置文件存放位置

五、實用操作

1,指令運行級別

2,幫助指令

3,文件目錄類

3.1,pwd指令

3.2,ls指令

3.3,cd指令

3.4,創建目錄mkdir

3.5,刪除目錄rmdir

3.6,創建空文件touch

3.7,拷貝cp

3.8,移除文件或目錄rm

3.9,移動文件或重命名mv

3.10,查看文件內容cat

3.11,more查看文件指令

3.12,less指令

3.13,>和>>指令

3.14,echo head tail

3.15ln軟鏈接

3.16history查找命令歷史記錄

4,時間日期類

4.1,date指令-顯示當前日期

4.2,date指令-設置當前時間

4.3,cal查看日曆

5,搜索查找類

5.1,find查找

5.2,locate快速定位文件路徑

5.3,grep指令和管道符號|

6,壓縮和解壓縮

6.1,gzip/gunzip(用的不多)

6.2,zip/unzip

6.3tar打包指令

7,組管理和權限管理

7.1組基本介紹

7.2文件/目錄的所有者

7.3文件/目錄所在組

7.4改變用戶所在組

7.5權限詳解

7.6修改權限chmod

7.7修改文件所有者chown

7.8修改文件所在組chgrp

7.9權限最佳實踐-警察和土匪遊戲

8,任務調度

8.1crond任務調度

8.2查看所有的任務調度

Linux下修改文件產生.swap文件錯誤

Linux中~與/的區別


一、SecureCRT相關知識

SecureCRT上傳文件到服務器:https://blog.csdn.net/youran66666/article/details/51556650

在Windows用SecureCRT上傳下載命令:rz\sz

在Windows用SecureCRT上傳下載命令(存在則覆蓋):cunrz -y

rz相關命令介紹:http://www.cnblogs.com/leeyongbard/p/9356760.html

  • 查看遠程端口是否開啓

在遠程機上輸入setup,選擇系統服務

帶*號表示已經啓動

 

 

解壓:tar -zcvf /home/zdzlibs.tar.gz /home/zdz/java/zdzlibs/

文件名快速填充:cd my+tap鍵 就會列出以my開頭的文件

刪除文件:rm -f 文件名

編輯文件:vim 文件名

i進行輸入模式,強制退出保存  先按ESC再輸入 :wq!

查看是否有gcc環境:gcc -v

 

二、vim常用知識

vim常用命令

1,刪除
dd:  剪切光標所在的一整行
ndd:刪除光標向下的n行

2,複製
yy:複製當前光標一整行
nyy:複製當前光標n行
p:粘貼

3,搜索內容
:/搜索內容        可以快速搜索打開的文本內容內容

4,設置/取消行號
:set nu和:set nonu

5,到大文件末端和頂端
在正常模式下,輸入G到達底端,輸入gg到達頂端

6,撤銷
在正常模式下,輸入u撤銷

7,光標移動到第20行
第一步:顯示行號    :set nu
第二步:輸入20
第三步:輸入shift+g

三、關機/重啓命令

shutdown
    shutdown -h now:表示立即關機
    shutdown -h 1:表示1分鐘後關機
    shutdown -r now:立即重啓
halt
    直接使用,等價於關機
reboot
    就是重啓系統
sync
    把內存的數據同步到磁盤

重啓命令推薦使用shutdown -r now,這條命令在重啓時會正常保存和中止服務器正在運行的程序,
是安全重啓命令。而且最好在重啓前執行幾次“sync”命令,這條命令是數據同步命令,
把暫時保存在內存的數據寫入磁盤,防止數據丟失。

用戶登陸和註銷

儘量少用root登陸

退出登陸:logout(此命令在圖形界面無效)

服務器建議

不要再服務器訪問高峯運行高負載命令

比如複製大量的數據、壓縮或者解壓縮大文件、大範圍的硬盤搜索等都會有較大的運算壓力。

一般認爲17:00-24:00是訪問高峯期。凌晨4:00-5:00可以執行這些命令。

遠程配置防火牆不要把自己踢出服務器

最好在本地測試完善後再進行上傳。雖然本地測試好了但是傳到服務器上時仍有可能發生問題。可以採用一個笨的辦法:如果需要遠程配置防火牆,那麼先寫一個系統定時任務,讓它每5分鐘清空一下防火牆規則,就算寫錯了也有反悔的機會,等測試沒問題了再刪除這個定時任務。

合理分配權限

管理一個最簡單原則:給予用戶最小的權限。

定期備份重要數據和日誌

備份的基本原則:不要把雞蛋放在同一個籃子裏

四、用戶/用戶組管理

1,用戶管理

Linux系統是多用戶多任務的操作系統。

1.1,添加用戶

useradd xm            //這種方式默認創建一個xm的賬號,並創建一個xm的分組,並且xm賬號屬於xm分組

useradd -d /home/manager zhangsan      //創建張三,並且家目錄在/home/manager文件夾裏

創建用戶的時候,會在家目錄下生成模板文件,模板在/etc/skel/目錄下

 1.1.1useradd默認值

useradd添加用戶的參數默認值主要是/etc/default/useradd和/etc/login.defs

1.2,指定/修改密碼

passwd zhangsan                                    //給張三設置密碼

用zhangsan的賬號登陸可以看到當前的家目錄爲/home/manager

1.3,刪除用戶

userdel 用戶名

userdel xm//刪除xm的賬號,但是家目錄保留

userdel -r xiaoming//刪除xiaoming賬號,並且刪除家目錄

一般在刪除用戶時候會保留家目錄(比如一個員工離職了,在家目錄下面有很多源代碼的情況)

手工刪除用戶:

/etc/passwd

/etc/shadow

/etc/group

/etc/gshadow

/home/user1

/var/spool/mail/user1  郵箱

1.4,查詢用戶信息

id 用戶名

1.5,切換用戶

當用戶權限不夠時,可以通過su 切換到高用戶

su - 用戶名//當高權限用戶到低權限用戶,不用輸入密碼

 這時候想要進入root目錄就會權限不夠,exit可以回到原來的用戶

1.6,查看當前登陸的賬戶

whoami

2,用戶組

2.1,增加組

groupadd 組名

2.2,刪除組

groupdel 組名

2.3,增加用戶屬於測試組

groupadd test//先增加測試組

useradd -g test xiaoliu//增加用戶xiaoliu屬於test組

2.4,修改用戶組

usermod -g 用戶組 用戶名

例如將xiaoliu修改爲kaifa組

3,用戶配置文件/組配置文件存放位置

用戶配置文件:/etc/passwd

組配置文件:/etc/group

口令配置文件(密碼和登陸信息,是加密的):/etc/shadow

密碼前面如果有感嘆號!,則該賬戶無法登陸

 

五、實用操作

1,指令運行級別

0:關機

1:單用戶(找回丟失密碼)

2:多用戶狀態沒有網絡服務

3:多用戶狀態有網絡服務

4:系統未使用保留給用戶

5:圖形界面

6系統重啓

常用運行級別是3和5,系統運行級別的配置文件在/etc/inittab,查看配置文件cat /etc/inittab

init 3//切換到dos狀態

init 5//切換到圖形界面狀態

init 0//關機的另一種方式

面試題

如何找回root密碼,如果我們不小心忘記roott密碼,怎麼找回。

思路:以root身份進入到單用戶模式,然後修改root密碼

2,幫助指令

man ls //查看ls使用幫助

help ls//查看ls使用幫助

3,文件目錄類

3.1,pwd指令

顯示當前工作目錄的絕對路徑

3.2,ls指令

ls [選項] [目錄或文件]

常用選項

    -a:顯示當前目錄所有的文件和目錄,包含隱藏文件

     -l:以列表的方式顯示信息

3.3,cd指令

cd ~     //回到家目錄

cd ..     //回到上一級目錄

cd ../../bin   //使用相對路徑回到bin目錄

3.4,創建目錄mkdir

用於創建目錄

mkdir [選項] 要創建的目錄

常用選項

    -p:創建多級目錄(遞歸創建)

mkdir -p test1/test2      //在當前目錄同時創建test1,test2目錄

3.5,刪除目錄rmdir

用於刪除目錄

rmdir [選項] 要刪除的空目錄

常用選項

    -p:遞歸刪除目錄

如果目錄下有內容rmdir無法刪除,需要使用rm -rf 來刪除非空目錄

3.6,創建空文件touch

touch 文件名

也可以一次性創建多個文件

touch test1.txt test2.txt

3.7,拷貝cp

cp [選項 ] source dest

常用選項

    -r:遞歸複製整個文件夾

cp test1.txt /usr                               //將當前目錄下的test1.txt拷貝到/usr目錄下

cp test1.txt /usr/test2.txt                 //將當前目錄下的test1.txt拷貝到/usr目錄下,並更名爲test2.txt

\cp -r test1 /usr                               //可以強制覆蓋所有

3.8,移除文件或目錄rm

rm [選項] 要刪除的文件或目錄

常用選項

    -r:遞歸刪除整個文件夾

    -f:強制刪除不提示

3.9,移動文件或重命名mv

mv 舊的文件名 新的文件名          //重命名

mv /usr/test1 /usr/bin/test2          //移動文件

3.10,查看文件內容cat

cat [選項] 要查看的文件

常用選項

    -n:顯示行號

cat -n /etc/profile | more              //more爲分頁顯示,可以按空格換頁

3.11,more查看文件指令

more 文件名

一行行看:enter

一頁頁看:空格

回看上一頁:ctrl+b

向下滾動一屏:ctrl+F

離開more:q

3.12,less指令

less用來分屏查看文件內容,功能於more指令類似,但是比more指令更強大。less在顯示文件內容時,並不是一次將整個文件加載之後才顯示,而是根據顯示需要加載內容,對於顯示大型文件具有較高的效率

less 要查看的文件

3.13,>和>>指令

>輸出重定向和>>追加

ls -l>file.txt    //列表的內容寫入文件file.txt文件中(覆蓋寫)

ls -l>>file.txt  //列表的內容追加到文件file.txt的末尾

cat file1.txt>file2.txt    //將file1.txt的內容覆蓋到file2.txt中

echo "內容">>file3.txt    //將內容追加寫入file3.txt中

例子:將日曆寫入文件

cal>>file3.txt

3.14,echo head tail

echo:輸出內容到控制檯

echo [選項] [輸出內容]

例如:使用echo指令輸出環境變量,輸出當前的環境路徑

echo $PATH

例如:使用echo直接輸出文本

echo "hello"

head:用於顯示文件的開頭部分,默認情況下head指令顯示文件的前10行內容

head 文件   //查看文件頭10行內容

head -n 5 文件   //查看文件頭5行內容

tail:用於輸出文件尾部的內容,默認情況下tail指令顯示文件的後10行內容。

tail 文件         //查看後10行內容

tail -n 5 文件         //查看文件後5行內容

tail -f 文件             //實時追蹤該文檔的所有更新(非常好用,工作中經常用

案例:實時監控log.txt,看文件有變化時,是否看到實時的追加日期

3.15ln軟鏈接

軟鏈接也叫符號鏈接,類似於windows裏的快捷方式

ln -s [原文件或目錄] [軟鏈接名]

刪除軟鏈接

rm -rf linkToRoot

3.16history查找命令歷史記錄

查看已經執行過歷史命令

案例:顯示最近的執行的10個指令

history 10

執行指定編號的指令

!900

4,時間日期類

4.1,date指令-顯示當前日期

date                                     //顯示當前時間

date "+%Y-%m-%d"            //顯示年月日

date "+%Y-%m-%d %H:%M:%S"   //顯示年月日時分秒

4.2,date指令-設置當前時間

date -s 字符串時間

date -s "2019-01-10 10:10:10"

4.3,cal查看日曆

cal [選項]              //不加選項,顯示本月日曆

cal 2020                //顯示1年的日曆

5,搜索查找類

5.1,find查找

find將指定目錄下遞歸地遍歷其中子目錄,將滿足條件的文件或者目錄顯示在終端。

find [搜索範圍] [選項]

-name:按文件名搜索

-user:按文件擁有者者查找

-size:按文件大小查詢

 

案例1:在/目錄下搜索指定文件位置

find / -name iSeez.h

案例2:按擁有者:查找/目錄下,用戶名爲xie的文件

find / -user xie

案例3:按文件大小:查找/usr/local/bin目錄下,文件大於20M的(大於+  小於-  等於直接寫數字)(很有用,有時候磁盤突然變小,可以查看原因

find /usr/local/bin -size +20M        //大於20M的文件,M大寫

find /usr/local/bin -size +2k           //大於2k的文件,k小寫

案例4:按文件名通配符查找

find / -name *.txt

5.2,locate快速定位文件路徑

locate指令可以快速定位文件路徑,locate指令利用事先建立的系統中所有文件名稱及路徑的locate數據庫實現快速定位給定的文件,locate指令無需遍歷整個文件系統,查詢速度較塊。爲了保證查詢結果的準確度,管理員必須定期更新locate時刻。

locate 搜索文件

說明:由於locate指令基於數據庫進行查詢,所以第一次運行前,必須使用updatedb指令創建locate數據庫

數據庫文件保存在/var/lib/mlocate/mlocate.db文件下,該文件普通用戶是無法讀取的,因爲/usr/bin/locate命令賦予了GID的權限,所以可以用locate命令查看

 

5.3,grep指令和管道符號|

grep過濾查找,管道符“|”,表示將前一個命令的處理結果輸出傳遞給後面的命令處理。

grep [選項] 查找內容 源文件

常用選項

-n:顯示匹配行及行號

-i:忽略字母大小寫

案例:在hello.txt文件中,查找“yes”所在行,並且顯示行號

cat hello.txt | grep -n yes

案例:在hello.txt文件中,查找“yes”所在行,並且顯示行號,並忽略大小寫

cat hello.txt | grep -ni yes

6,壓縮和解壓縮

6.1,gzip/gunzip(用的不多)

gzip用於壓縮文件,gunzip用於解壓縮

gzip 文件          //只能將文件壓縮爲*.gz文件,原來的壓縮文件不保留

gunzip 文件.gz        //解壓縮文件,解壓縮文件不保存

6.2,zip/unzip

zip [選項] xxx.zip 將要壓縮的內容       //壓縮文件和目錄的命令

unzip [選項] xxx.zip                             // 解壓縮文件

zip常用選項

-r:遞歸壓縮,即爲壓縮目錄

unzip常用選項

-d<目錄>:指定解壓後文件的存放目錄

案例1:將/home下的所有文件進行壓縮成myhome.zip

zip -r myhome.zip /home/

案例2:將myhome.zip解壓到/usr/local/bin/tmp目錄下

unzip -d /usr/local/bin/tmp myhome.zip

6.3tar打包指令

打包後的文件是.tar.gz的文件

tar [選項] xxx.tar.gz 打包的內容           //打包目錄

選項

-c:產生.tar打包文件

-v:顯示詳細信息

-f:指定壓縮後的文件名

-z:打包同時壓縮

-x:解包.tar文件

案例1:壓縮多個文件,將~目錄下的test1.txt和test2.txt壓縮成test.tar.gz

tar -zcvf test.tar.gz test1.txt test2.txt

案例2:將文件夾下所有東西都打包

tar -zcvf myhome.tar.gz /usr/local/bin/
案例3:將a.tar.gz解壓到當前目錄

tar -zxvf a.tar.gz

案例4:將a.tar.gz解壓到/usr/local目錄下

tar -zxvf a.tar.gz -C /usr/local/                          //指定解壓到的那個目錄,事先要存在才能成功,否在會報錯

7,組管理和權限管理

7.1組基本介紹

在Linux中的每個用戶必須屬於一個組,不能獨立於組外。在Linux中每個文件有所有者、所在組、其它組的概念。

7.2文件/目錄的所有者

文件的創造者,誰創建了該文件,就成爲該文件的所有者。

查看文件的所有者

指令:ls -ahl                      //h即爲human

範例:創建一個test組,在創建一個test_zs,將test_zs放在test組裏,然後用test_zs來創建文件test.java

useradd -g test test_zs//添加用戶

passwd test_zs//設置密碼

su - test_zs//切換登陸

touch.java//創建文件

ls -ahl//查看文件所有者

修改文件所有者

指令:chown 用戶名 文件名

組的創建

指令:groupadd 組名

範例:創建用戶xiaoli屬於master組

groupadd master 

useradd -g master xiaoli

7.3文件/目錄所在組

當某個用戶創建一個文件後,默認這個文件的所在組就是該用戶所在的組。

查看文件/目錄所在組

指令:ls -ahl

修改文件所在的組

chgrp 組名 文件名

範例:將test.java所在組改爲xie

7.4改變用戶所在組

用root的管理權限可以改變某個用戶所在的組。

指令:usermod -g 組名 用戶名

usermod -d 目錄名 用戶名   //改變該用戶登陸的初始目錄

範例:修改用戶xie爲test組

7.5權限詳解

rwx作用到文件

r-可讀,可以讀取,查看

w-可寫,可以修改,但是不代表可以刪除文件,刪除一個文件的前提條件是對該文件所在的目錄有寫權限,才能刪除該文件。

x-可以被執行

rwx作用到目錄

r-可讀,可以用ls查看目錄內容

w-可寫,可以修改,目錄內可以創建+刪除+重命名目錄

x-可執行,可以進入該目錄

7.6修改權限chmod

方式一:+、-、=變更權限

u:所有者 g:所有組 o:其他人 a:所有人(u、g、o的總和)

chmod u=rwx,g=rx,o=x 文件目錄名

chmod o+w 文件目錄名

chmod a-x 文件目錄名

方式二:通過數字變更權限

規則:r=4 w=2 x=1    rwx=4+2+1=7

chmod u=rwx,g=rx,o=x 文件目錄名

等價於

chmod 751 文件目錄名

7.7修改文件所有者chown

chown newowner file 改變文件的所有者

chown newowner:newgroup file 改變用戶的所有者和所有組

-R 如果是目錄則使其下所有子文件或目錄遞歸生效

案例1:將test.java文件的所有者修改成test_zs

chown test_zs test.java

案例2:將/test1目錄下所有文件和目錄的所有者都修改成test_zs

chown -R test_zs test1/

7.8修改文件所在組chgrp

chgrp newgroup file 

案例:將test1目錄下所有文件和目錄的所有者都改成test組

chgrp -R test test1/

7.9權限最佳實踐-警察和土匪遊戲

jack,jerry是警察

xh,xq是土匪

1)創建組police、bandit

groupadd police

groupadd bandit

2)創建用戶

useradd -g police jack

useradd -g police jerry

useradd -g bandit xh

useradd -g bandit xq

並指定密碼passwd jack

3)用jack登陸,創建一個文件,自己可以讀寫,本組人可以讀,其它組沒有任何權限

chmod 640 jack01.txt

4)jack修改該文件,讓其它組人可以讀,本組人可以讀寫

chmod o=r,g=rw jack01.txt

5)xh投靠警察,看看是否可以讀寫

xh無法進入jack的家目錄

修改xh爲police組

usermod -g police xh

此時xh還是沒法進入jack的家目錄,需要jack改變組的權限

chmod g=rx jack

修改完後,xh的賬號需要重新連接就可以進入jack的家目錄

8,任務調度

8.1crond任務調度

指令:crontab [選項]

常用選項:

-e:編輯crontab定時任務

-l:查詢crontab任務

-r:刪除當前用戶所有的crontab任務

如果只是簡單的任務,可以不寫腳本,直接再crontab中加入任務即可

案例:設置任務調度文件:/etc/crontab

設置個人任務調度。執行crontab -e命令。

接着輸入任務到調度文件

如:*/1**** ll /etc/>>/tmp/to.tx

任務調度案例1:每隔1分鐘,就將當前的日期信息,追加到/tmp/mydate文件中

1)先編寫一個文件/home/mytask1.sh

date>>/tmp/mydate

2)給mytask1.sh一個可以執行的權限

chmod 744 /home/mytask1.sh

3)crontab -e

4)*/1 * * * * /home/mytask1.sh

任務調度案例2:每隔1分鐘,將當前日期和日曆都追加到/home/mycal文件中

1)先編寫一個文件/home/mytask2.sh

date>>/tmp/mycal

cal>>/tmp/mycal

2)給mytask2.sh一個可以執行的權限

chmod 744 /home/mytask2.sh

3)crontab -e

4)*/1 * * * * /home/mytask2.sh

8.2查看所有的任務調度

指令:crontab -l

8.3刪除所有的任務調度

指令:crontab -r

 

 

Linux查看當前的進程並過濾

 

Linux下修改文件產生.swap文件錯誤

在linux裏修改文件時,不小心非正常關閉了文件。再次打開的時候提示  E325: 注意發現交換文件 "filename.swp",具體報錯如下:

E325: 注意

發現交換文件 ".nginx.conf.swp"

            所有者: root    日期: Fri Jun 23 09:44:19 2017

            文件名: /usr/local/src/nginx-1.1.10/conf/nginx.conf

            修改過: 是

            用戶名: root      主機名: demo

           進程 ID: 5168

正在打開文件 "nginx.conf"

              日期: Fri Jun 23 09:57:15 2017

      比交換文件新!

 

(1) 另一個程序可能也在編輯同一個文件。

    如果是這樣,修改時請注意避免同一個文件產生兩個不同的版本。

    退出,或小心地繼續。

(2) 上次編輯此文件時崩潰。

    如果是這樣,請用 ":recover" 或 "vim -r nginx.conf"

    恢復修改的內容 (請見 ":help recovery")。

    如果你已經進行了恢復,請刪除交換文件 ".nginx.conf.swp"

    以避免再看到此消息。

 ----------------------------------------------------------

交換文件 ".nginx.conf.swp" 已存在!

原因如下:

在用vim打開一個文件時,其會產生一個cmd.swap文件,用於保存數據,當文件非正常關閉時,可用此文件來恢復,當正常關閉時,此文件會被刪除,非正常關閉時,不會被刪除,所以提示存在.swap文件。

解決方法如下:

方法1、此時你可以恢復文件:

vim -r nginx.conf

恢復以後把.swap文件刪掉,在打開時就不會用提示良,注意.swap文件是個隱藏文件。可用:la查看。以.開頭的是隱藏文件。

方法2、ls -a 查詢隱藏文件

將後綴名爲.swp的文件刪除

rm -f .nginx.conf.swp

再次編輯文件不在出現提示警告!

 

 

 

Linux中~與/的區別

/是根節點,~是home

若以root登陸,~是/root/。若以name登陸,~是/home/name

 

Linux top各參數詳解

https://www.cnblogs.com/sbaicl/articles/2752068.html

 

Linux目錄

/proc、/srv、/sys是linux內核的東西,Linux高手動的文件夾,一般不要輕易亂動

/mnt可以掛載Windows的共享文件夾

/usr/local這是給主機安裝軟件所安裝的目錄。一般是通過編譯源碼方式安裝的程序。

更新中

 

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