Linux常用命令使用說明

這是Linux的操作系統(tǒng),使用的VMware 安裝的虛擬機的操作系統(tǒng)

切換用戶su

su -切換回root目錄(需要輸入密碼,Linux下輸入的密碼是不可見的)
su - chaim 切換到chaim用戶模式下
passwd 更改當前用戶的密碼
切換用戶時,一定要使用su - 用戶名,中間的-不能省略,如果省略則使用的還是切換前的用戶的環(huán)境變量。
我使用不同的賬戶時,直接使用su chaim結(jié)果就是,賬戶的perl無法使用,經(jīng)過反復(fù)查找,才發(fā)現(xiàn)是切換的方法不正確,省略了-,導(dǎo)致環(huán)境變量沒有切換。

進程守護和結(jié)束

進程守護

nohup ascp -i /share/home/jialj/.aspera/connect/etc/asperaweb_id_dsa.putty --mode recv --host ftp-private.ncbi.nlm.nih.gov --user anonftp --file-list SRR_Download_List_file_list.txt ./ &nohup 你的任務(wù) &來守護進程,即使退出當前連接,進程仍然會在后臺進行。
此處退出時,使用logout退出遠程連接。非正常退出終端,nohup的進程會被kill掉。

進程守護之Screen

在使用nohup時,可能會在輸出文件添加說明性內(nèi)容,結(jié)果會導(dǎo)致后續(xù)程序報錯。
所以建議,在運行命令時,指定log輸出文件,

#此處的2 后面的時輸出log的文件夾 
nohup ascp -i /EDE/lk.putty XXXX 2 >ascp_output_info &

除了nohup還有screen,也是很好用的后臺掛起的命令。
screen常用命令

#新建一個名字為hello的session,直接進入到該session
screen -S hello
#退出當前的session,CTRL+A+D  ,但是該session仍然在后臺運行
同時按下CTRL+A+D
#查看所有的screen session
screen -ls
#返回hello session
screen -r hello
#結(jié)束當前session ,并前往test session
screen -d -r test
# 離線hello這個session
screen -d hello 
#恢復(fù)離線的hello session
screen -x hello 
進程結(jié)束

ps -efww|grep ascp |grep -v grep|cut -c 9-15|xargs kill -9 結(jié)束ascp程序的所有進程。
可以更換中間的ascp為任何想要結(jié)束的程序的名字
說明:管道符“|”用來隔開兩個命令,管道符左邊命令的輸出會作為管道符右邊命令的輸入。
ps -efww是查看所有進程的命令。這時檢索出的進程將作為下一條命令grep的輸入,注意要結(jié)束其它程序時,請將上面命令中的vim替換成其它程序名。
grep -v grep是在列出的進程中去除含有關(guān)鍵字“grep”的進程。
cut -c 9-15是截取輸入行的第9個字符到第15個字符,而這正好是進程號PID。
xargs kill -9中的xargs命令是用來把前面命令的輸出結(jié)果(PID)作為kill -9命令的參數(shù),并執(zhí)行該命令。
kill -9會強行殺掉指定進程,這樣就成功清除了同名進程。

切換到不同的目錄位置cd

cd ~ 快速進入/home/chaimol目錄 (在非root用戶模式下 )
cd - 返回進入本目錄前所在的目錄
mkdir newfile 創(chuàng)建一個名字為newfile的文件夾
cd ../ (進入上一級目錄)
cd ./home (進入同級的home文件夾)
mkdir name新建一個名字是name的文件夾
touch myfirst.txt 新建一個名字為myfirst的txt文件
rm -rf myfirst.txt 刪除名字為myfirst.txt的文件
ln -s /home/user/smpamples.peopleRNAseq/ /home/f 設(shè)置超連接,用home目錄下的f文件夾軟超連接到/home/user/smpamples.peopleRNAseq/目錄。訪問/home/f,,就相當于訪問上述目錄。

復(fù)制cp

cp inex.html testBaidu
復(fù)制index.html到testBaidu文件夾內(nèi)(會自動把時間戳改為當前的時間戳)
cp -p index.html testBaidu
復(fù)制index.html到testBaidu文件夾內(nèi)(時間戳仍然是源文件的時間戳)
cp index.html index.css index.js testBaidu
復(fù)制index.html,index.css,index.js文件到testBaidu文件夾內(nèi)
cp -r cat dog
把cat文件夾復(fù)制到dog文件夾內(nèi)

移動、重命名mv

mv cat dog cat重命名為dog
mv cat/ dog/ cat文件夾內(nèi)容移動到dog文件夾,同時刪除cat文件夾
rm index.html 刪除index.html 會要求確認是否刪除,輸入y,則刪除。
rm -f inex.html 刪除index.html ,不要求再次確認。
rm -r dog/ 刪除dog文件夾,需要再次確認,輸入y,則刪除。(刪除文件夾時,則會進入該文件夾,要求你一一確認是否刪除文件夾里的每一項)
rm -rf dog/ 刪除dog文件夾,不需要再次確認。

查看文件夾內(nèi)容ls

pwd 顯示當前所在的目錄
dir 查看目錄內(nèi)容(只顯示文件名)
ls -l 查看所在目錄內(nèi)容(包括文件名和時間等詳細列表)
ls -la 查看包含隱藏文件在內(nèi)的本目錄所有內(nèi)容(文件大小全部顯示以字節(jié)為單位顯示)
ls 顯示當前所在的目錄內(nèi)容(只顯示文件名)
ls / 顯示根目錄的內(nèi)容
ls -a 顯示本目錄內(nèi)包含隱藏文件在內(nèi)的所有文件(只顯示文件名)
ls -ld 顯示本目錄自身的信息
ls -lh 顯示本目錄下所有內(nèi)容(以列表的形式,只是文件大小會以合適的單位表示)
file index.css 確認index.css的文件格式
cat index.css 打開index.css文件查看文本文件
less index.txt查看index.txt文件

使用less打開后命令

g 返回頭部
G 返回底部
/chaimol 搜索chaimol
n 搜索后的操作。小寫的n向上搜索
N大寫的N,向下搜索。
(鍵盤按鍵)pageUp 上一頁
(鍵盤按鍵)PageDown 下一頁
q 退出

Linux的日期是以1970年1月1日為1,開始計算天數(shù)的。例如3,表示1970年1月3日。

目錄系統(tǒng)(Linux系統(tǒng)文件名區(qū)分大小寫)

1.home目錄
root用戶的目錄是/root
普通用戶的目錄是/home/用戶名
2.bin目錄
常用的可執(zhí)行文件
/bin、/usr/bin、/sbin等
3.外部設(shè)備mountpoint
/media、/mnt
當檢測到設(shè)備時會自動掛載
4./etc,系統(tǒng)配置文件
5./tmp,臨時文件
6./boot 系統(tǒng)內(nèi)核和開機必要文件
7./dev 系統(tǒng)所有的設(shè)備文件
8./usr
unix system resource(系統(tǒng)文件)
保存程序的相關(guān)文件
9./lost+found
每個分區(qū)都會自動創(chuàng)建
10./var、/srv(保存數(shù)據(jù)庫數(shù)據(jù)等,會自動增大)
11./proc
12./lib、/usr/lib、(可復(fù)用的庫)

更改文件的權(quán)限

r 讀
w 寫
x 執(zhí)行

更改文件的權(quán)限的方式

使用ls -l查看目錄文件的詳細列表包括使用權(quán)限日期內(nèi)容等。
例如:下面的
drwxrwxr-x 3 root root 4096 05-31 17:25 perm
前面的d是目錄文件,依次是U(擁有者)G(用戶組)O(其他)的權(quán)限。
這里是d(目錄)rwx(擁有者——擁有讀寫執(zhí)行權(quán)限)rwx(用戶組——擁有讀寫執(zhí)行權(quán)限) r-x(其他——擁有讀執(zhí)行的權(quán)限)

  1. 使用字符表示法
    chmod [-R] UGO+rwx perm //將perm目錄(如果添加了—R,則更改權(quán)限包括目錄下所有文件)權(quán)限更改為全部具有讀寫執(zhí)行操作。
  2. 使用數(shù)字模式
    r 4
    w 2
    x 1
    沒有權(quán)限是0
    chmod 777 perm//將perm目錄權(quán)限更改為全部具有讀寫操作。
  3. 使用可視化界面改變

壓縮打包
壓縮工具
Linux支持的壓縮格式

  1. *.Z ,compress程序壓縮文件
  2. *.gz ,gzip程序壓縮文件
  3. *.bz2 ,bzip2程序壓縮文件
  4. *.tar ,tar程序打包文件,并未壓縮
  5. *.tar.gz ,tar打包的檔案,使用gzip壓縮
  6. *.tar.bz2 ,tar打包的文件,使用bzip2壓縮

gzip壓縮工具

gzip perm壓縮perm
gzip -c perm >perm.gz 壓縮perm,同時保留原文件。
gzip -cv perm.gz 顯示perm.gz的壓縮比
gzip -c perm 壓縮文件perm
gzip -d perm.gz解壓縮perm.gz文件
1、gzip ? [-cdtv#] ? 文件名稱 ?
? 1)擴展名為*.gz ?
? 2)-c:將壓縮的數(shù)據(jù)輸出到屏幕上 ?
? 3)-d:解壓縮的參數(shù) ?
? 4)-t:進行文件的一致性校驗看是否損壞 ?
? 5)-v:顯示和原文件相比的壓縮比 ?
? 6)-#:壓縮等級,-1最快,-9最慢,默認是-6 ?

2、bzip2 ? [-cdkzv#] ? 文件名稱 ?
? 1)擴展名為*.bz2 ? ?
? 2)-c:將壓縮的數(shù)據(jù)輸出到屏幕上 ?
? 3)-d:解壓縮的參數(shù),該參數(shù)代表執(zhí)行解壓縮操作 ?
? 4)-k:保留原文件并不刪除原始文件 ?
? 5)-z:壓縮的參數(shù),該參數(shù)代表是執(zhí)行壓縮操作 ?
? 6)-v:顯示和原文件對比的壓縮比 ?
? 7)-#:壓縮等級,-1最快,-9最慢,默認是-6 ?

Linux文件打包指令

1、tar ? ? [-jcv] ? –f ? finaname.tar.bz2
? 待壓縮的檔案或者目錄名 ?
? 將某個文件或者目錄打包并使用bzip2壓縮成一個文件 ?
2、tar ? ? [-jxv] ? –f ? filename.tar.bz2 ? –C ? 解壓縮的目錄 ?
? 將壓縮文件解壓縮至特定的目錄 ?
3、參數(shù)解釋 ?
? 1)-c:建立打包檔案 ?
? 2)-t:查看打包的文件都有哪些文件名 ?
? 3)-x:解壓縮或者解打包文件,和-C搭配使用解壓縮至特定目錄 ?
? 4)-j:通過bz2支持進行壓縮或者解壓縮 ?
? 5)-z:使用gzip進行壓縮或者解壓縮 ?
? 6)-v:將正在處理的文件名顯示出來 ?
? 7)-f:緊跟要被處理的文件名,建議單獨寫一個選項 ?
3.使用zip壓縮打包
zip -f filename.zip 文件夾名 //使用zip壓縮

vi編輯器(記事本)
vim編輯器(編寫代碼使用,全面兼容vi的指令)
vi常用的命令
vi perm 打開文件perm,如果不存在,則會在保存時,新建并保存該文件。
vi的三種模式
1)命令模式,可以移動光標,修改、刪除、復(fù)制、搜索
2)插入模式,通過a或者i或者o進入,可以修改文件內(nèi)容
3)擴展模式,在insert,模式下先按下Esc鍵(左上角),再按冒號: 通過:進入,退出、保存、查找替換

4.命令行下刪除更改復(fù)制
Change Delete Yank(copy)
Line cc dd yy
Letter cl dl yl
Word cw dw yw

5、撤銷操作
1)u,撤銷最近一次的修改,undo
2)ctrl-r,取消最后一次的撤銷,redo
3)U,撤銷所有修改
6、查找操作
1)/text,向后搜索
2)?text,向前搜索
3)n,(按下n鍵)搜索下一個同樣的內(nèi)容
4)N (按下n鍵和shift鍵) 搜索上一個同樣的內(nèi)容
7、粘貼操作
1)用p粘貼復(fù)制、修改或者刪除的數(shù)據(jù)
2)對于行,p粘貼在行上,P粘貼在行下
3)對于字符,p粘貼在字符右側(cè),P粘貼在字符左側(cè)
8、命令模式下的一些技巧
1)dtc,刪除從光標到c之間的所有字符
2)rc,將光標下的字符替換為c
3)dw刪除游標處所在的字符
4)5dd,刪除5行數(shù)據(jù)
5)5yy,復(fù)制5行數(shù)據(jù)
6)5x,刪除5個字符
7)R,進入替換狀態(tài),esc退出
9、保存、退出,進入擴展模式
1):w,保存
2):q,退出
3):wq,保存并退出
4):w!,強制保存
5):q!,強制退出
6):wq!,強制保存退出

vi編輯器的進階使用
1、文件內(nèi)定位
1)G,跳轉(zhuǎn)到文件最后一行
2)1G,跳轉(zhuǎn)到文件的第一行
3)ctrl+d,往下滾動半屏
4)ctrl+u,往上滾動半屏
2、屏幕定位相關(guān)
1)H,跳轉(zhuǎn)到本屏顯示的第一行
2)M,調(diào)轉(zhuǎn)到本屏顯示的中間一行
3)L,跳轉(zhuǎn)到本屏顯示的最后一行
4)z+Enter,使當前的行成為屏幕顯示的第一行
5)z-,使當前行成為屏幕的最后一行
3、查找并批量替換
1)通過sed來查找
2)默認對當前行進行查找
3)1,10,對1-10行進行查找
4)1,%,對整個文件查找 4、讀取和保存 1):r file,將另外一個file的內(nèi)容讀入到當前文件 2)1,20 w file,將1-20行的內(nèi)容寫入到一個新的file中 3)1, w file,將整個文件寫入一個新的file
4)1,20 w>>file,將1-20行數(shù)據(jù)追加到file中
5):n,跳到下一個文件
6):rew,回到第一個文件
5、查找并批量替換
1)通過sed來查找
2)默認對當前行進行查找
3)1,10,對1-10行進行查找
4)1,%,對整個文件查找 6、讀取和保存 1):r file,將另外一個file的內(nèi)容讀入到當前文件 2)1,20 w file,將1-20行的內(nèi)容寫入到一個新的file中 3)1, w file,將整個文件寫入一個新的file
4)1,20 w>>file,將1-20行數(shù)據(jù)追加到file中
7、設(shè)置
1):set,顯示常用的配置選項
2):set all,顯示所有的配置選項
3):set number,設(shè)置行號

下載文件
wget https://www.baidu.download.min.css //從指定網(wǎng)址下載文件
wget https://www.baidu.download.min.css
--no-check-certificate
//當遇到ssl錯誤時,后面添加該命令??山鉀Q無法下載的問題。
cal >pem2 //cal是輸出日歷命令,后面的大于號(重定向),是把屏幕的輸出保存到perm2里。如果perm2不存在,則新建并保存輸出的數(shù)據(jù)。注意:執(zhí)行此操作會替換文件里原有的內(nèi)容。
cal >>pem2 //這里的兩個大于號(重定向),是追加到pem2,并保存。

mkdir test&&cd test&&touch baidu.txt //這里連接幾個命令用的是&&,只有在前一個命令正確執(zhí)行后,后一個才會繼續(xù)執(zhí)行。
bash1||bash2 //這里的|| 表示,只有前一個命令執(zhí)行錯誤時,才會執(zhí)行后一個命令。

管道命令

管道符是|

cat perm |wc -l //統(tǒng)計perm里有幾行內(nèi)容
cat perm |wc -w //統(tǒng)計perm里總共有幾個詞
cat perm |wc -m //統(tǒng)計perm里字符數(shù)

更改環(huán)境變量
vim ~/./.bashrc在其后面增加內(nèi)容后,執(zhí)行source ~/./.bashrc
vim /etc/profile 在其后面增加內(nèi)容后,執(zhí)行source /etc/profile
export 查詢環(huán)境變量
echo $PATH單獨查看PATH環(huán)境變量

mysql數(shù)據(jù)庫的連接
詳細地址:
[http://www.cnblogs.com/mfryf/archive/2012/02/12/2348164.html]
mysql -u root -p 123 //連接數(shù)據(jù)庫 用戶名為root ,密碼為123

mysql數(shù)據(jù)庫里面的操作命令
show databases; //顯示當前所有的數(shù)據(jù)庫名
create database phplesson1; //創(chuàng)建新的名為phplesson1的數(shù)據(jù)庫。
use phplesson1; //使用名為phplesson1的數(shù)據(jù)庫。
source lesson1.sql; //導(dǎo)入表名為phplesson1.sql的表
source userinfo.sql; //導(dǎo)入表名為userinfo.sql的表

pm2使用
npm install pm2 -g # 命令行安裝 pm2 pm2 start app.js -i 4 # 后臺運行pm2,啟動4個app.js
# 也可以把'max' 參數(shù)傳遞給 start
# 正確的進程數(shù)目依賴于Cpu的核心數(shù)目
pm2 start app.js --name my-api # 命名進程 pm2 list # 顯示所有進程狀態(tài)
pm2 monit # 監(jiān)視所有進程 pm2 logs # 顯示所有進程日志
pm2 stop all # 停止所有進程 pm2 restart all # 重啟所有進程
pm2 reload all # 0 秒停機重載進程 (用于 NETWORKED 進程) pm2 stop 0 # 停止指定的進程
pm2 restart 0 # 重啟指定的進程 pm2 startup # 產(chǎn)生 init 腳本 保持進程活著
pm2 web # 運行健壯的 computer API endpoint (http://localhost:9615) pm2 delete 0 # 殺死指定的進程
$ pm2 delete all # 殺死全部進程

rename命令

批量重命名文件

#把所有以R18019091開頭的文件重命名為w開頭。
rename R18019091 w R18019091*

shell腳本使用

新建名為test.sh的shell腳本文件
內(nèi)容如下

#!/bin/bash //使用bash解析器
echo "hello world!"http://屏幕輸出hello world
chmod 777 test.sh //使腳本具有執(zhí)行權(quán)限

eval是個好工具
例如:

date //Fri Apr 13 21:32:10 DST 2018
echo date //date
eval `echo date` //Fri Apr 13 21:32:10 DST 2018

簡單說,eval可以對命令里的變量進行二次運算。相當好用的命令。

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

友情鏈接更多精彩內(nèi)容