一纲缓、解壓 zip
zip文件方面,在Ubuntu下默認(rèn)的編碼是UTF-8,而Windows下默認(rèn)的編碼是GBK色徘,解決方案是: 解壓時(shí)指定字符集恭金,可以是,CP936褂策,GBK横腿,GB18030
$ unzip -O GBK xxx.zip
三、vim 編輯器 顯示行號(hào)
#臨時(shí)顯示:進(jìn)入編輯某一個(gè)文件斤寂,然后鍵入:
: set number 或者 :set nu
#永久性顯示
$ vim /etc/vim/vimrc
#在最后一行添加:
set number 或 set nu
四耿焊、ubuntu 安裝 ftp 服務(wù)----vsftpd
$ sudo apt-get install vsftpd
$ ps -e | grep ftp #查看vsftpd是否在運(yùn)行
##3721 ? 00:00:00 vsftpd 說(shuō)明vsftpd 已在運(yùn)行
##修改 /etc/vsftp.conf
$ sudo vim /etc/vsftp.conf
** anonymous_enable = NO ** 禁止無(wú)密碼登錄
write_enable=YES 此時(shí)才可以通過(guò) ftp軟件向服務(wù)器傳文件
## 重啟vsftpd 服務(wù)
$ sudo service vsftpd stop
$ sudo service vsftpd start
此時(shí)便可以通過(guò)ftp工具進(jìn)行文件傳輸了。
五遍搞、scp 文件傳輸
***使用 scp 的前提是目標(biāo)主機(jī)要安裝 openssh-server ***
## 1罗侯、向服務(wù)器上傳文件
$ scp /usr/local/mongodb-linux-x86_64-ubuntu1404-3.4.1.tgz administrator@192.168.210.16:/usr/local
## 此時(shí)會(huì)報(bào)錯(cuò):scp: /usr/local/mongodb-linux-x86_64-ubuntu1404-3.4.1.tgz: Permission denied
##意思是說(shuō) 你用administrator用戶來(lái)傳輸文件,但是 目標(biāo)主機(jī)的 /usr/local 沒(méi)有給administrator用戶開(kāi)權(quán)限溪猿。
## 我們可以先傳到 administrator的home目錄:~
$ scp /usr/local/mongodb-linux-x86_64-ubuntu1404-3.4.1.tgz administrator@192.168.210.16:~
## 然后在移動(dòng)到目標(biāo)路徑
## 2钩杰、從服務(wù)器下載文件
$ scp root@123.123.123.123:/root/aa.txt /root/download ## 前面是服務(wù)器地址以及需要下載的文件所在的路徑,后面的是本地的下載目錄
六诊县、可視化 設(shè)置是否開(kāi)機(jī)自啟
我們可以使用 sysv-rc-conf 來(lái)可視化管理開(kāi)機(jī)啟動(dòng)項(xiàng)
$ sudo apt-get install sysv-rc-conf
$ sudo sysv-rc-conf
有 'X'的表示是開(kāi)機(jī)自啟的讲弄,使光標(biāo)移動(dòng)到相應(yīng)的位置,按下 空格鍵依痊,即可進(jìn)行相應(yīng)設(shè)置避除。
七、文件權(quán)限
ls
-l中顯示的內(nèi)容如下:
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
10個(gè)字符確定不同用戶能對(duì)文件干什么
第一個(gè)字符代表文件(-)、目錄(d)瓶摆,鏈接(l)
其余字符每3個(gè)一組(rwx)凉逛,讀(r)、寫(xiě)(w)群井、執(zhí)行(x)
第一組rwx:文件所有者的權(quán)限是讀鱼炒、寫(xiě)和執(zhí)行
第二組rw-:與文件所有者同一組的用戶的權(quán)限是讀、寫(xiě)但不能執(zhí)行
第三組r--:不與文件所有者同組的其他用戶的權(quán)限是讀不能寫(xiě)和執(zhí)行
也可用數(shù)字表示為:r=4蝌借,w=2昔瞧,x=1 因此rwx=4+2+1=7
1 表示連接的文件數(shù)
root 表示用戶
root表示用戶所在的組
1213 表示文件大小(字節(jié))
Feb 2 09:39 表示最后修改日期
abc 表示文件名
改變權(quán)限的命令
chmod 改變文件或目錄的權(quán)限
chmod 755 abc:賦予abc權(quán)限r(nóng)wxr-xr-x
chmod u=rwx菩佑,g=rx自晰,o=rx abc:同上u=用戶權(quán)限,g=組權(quán)限稍坯,o=不同組其他用戶權(quán)限
chmod u-x酬荞,g+w abc:給abc去除用戶執(zhí)行的權(quán)限,增加組寫(xiě)的權(quán)限
chmod a+r abc:給所有用戶添加讀的權(quán)限
八瞧哟、文件特殊權(quán)限 s和t
[root@localhost ~]# ls -ld /usr/bin/passwd /tmp
drwxrwxrwt 4 root root 4096 Jun 2 17:33 /tmp
-rwsr-xr-x 1 root root 22984 Jan 7 2007 /usr/bin/passwd
這個(gè)s權(quán)限混巧,是為了讓一般使用者臨時(shí)具有該文件所屬主/組的執(zhí)行權(quán)限。
比如/usr/bin/passwd在執(zhí)行它的時(shí)候需要去修改/etc/passwd和/etc/shadow等文件勤揩,這些文件除了root外咧党,其他用戶都沒(méi)有寫(xiě)權(quán)限,但是又為了能讓普通用戶修改自己的密碼陨亡,只能時(shí)臨時(shí)讓他們具有root的權(quán)限傍衡。所以這個(gè)s權(quán)限就是用來(lái)完成這個(gè)特殊任務(wù)的。
s權(quán)限只能應(yīng)用在二進(jìn)制的可執(zhí)行文件上负蠕。
如果你不想讓普通用戶修改自己的密碼蛙埂,只需要
[root@localhost ~]# chmod u-s /usr/bin/passwd 或者
[root@localhost ~]# chmod 0755 /usr/bin/passwd
0755最前面的0表示不使用任何特殊權(quán)限,該位上的數(shù)字可以是0,1(--t),2(-s-),3(-st),4(s--),5(s-t),6(ss-),7(sst)
t權(quán)限只針對(duì)目錄生效遮糖,它表示只能讓所屬主以及root可以刪除(重命名/移動(dòng))該目錄下的文件
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# mkdir test
[root@localhost tmp]# chmod 1777 test
[root@localhost tmp]# ls -ld test
drwxrwxrwt 2 root root 4096 Jun 2 18:10 test
[root@localhost tmp]# su test1
[test1@localhost tmp]$ touch test/1.txt
[test1@localhost tmp]$ ls -l test
total 4
-rw-r--r-- 1 test1 test 0 Jun 2 18:12 1.txt
[test1@localhost tmp]$ exit
[root@localhost tmp]# su www
[www@localhost tmp]$ ls -l test/1.txt
-rwxrwxrwx 1 test1 test 6 Jun 2 18:12 test/1.txt
[www@localhost tmp]$ rm test/1.txt
#rm: cannot remove `test/1.txt': Operation not permitted
#提示不能刪除1.txt
[www@localhost tmp]$ exit
[root@localhost tmp]# chmod -t test
#去掉t權(quán)限绣的。
[root@localhost tmp]# ls -ld test
drwxrwxrwx 2 root root 4096 Jun 2 18:13 test
[root@localhost tmp]# su www
[www@localhost tmp]$ rm -f test/1.txt
#再次刪除,則刪除成功欲账。
[www@localhost tmp]$ ls test/1.txt
#ls: test/1.txt: No such file or directory
九屡江、查看文件內(nèi)容
cat可以在非編輯模式下查看文檔內(nèi)容;
vi/vim進(jìn)入編輯器查看
$ less test.txt
$ cat test.txt
#進(jìn)入非編輯模式下查看文檔內(nèi)容敬惦,并可以通過(guò) j盼理、k進(jìn)行上下一行翻頁(yè);
# f 和 pgdn 都是向下一屏 pgup 向上一屏
十俄删、粘貼內(nèi)容(命令行、vim編輯器)
命令行中按下組合鍵:Ctrl 和 :,會(huì)出現(xiàn)當(dāng)前剪切的內(nèi)容列表畴椰,然后輸入你想要粘貼的內(nèi)容的序號(hào)即可臊诊。
Vim 中 需要先 輸入 i,進(jìn)入編輯模式斜脂,再進(jìn)行上面的操作
十一抓艳、安裝 *.deb包
sudo dpkg --install ****.deb
十二、防火墻開(kāi)啟某一個(gè)端口
$ netstat -ntlp ##查看端口占用情況
$ iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
$ systemctl restart iptables.service ## 重啟防火墻
$ service iptables restart
十三帚戳、配置環(huán)境變量
Linux中環(huán)境變量包括系統(tǒng)級(jí)和用戶級(jí)玷或,系統(tǒng)級(jí)的環(huán)境變量是每個(gè)登錄到系統(tǒng)的用戶都要讀取的系統(tǒng)變量,而用戶級(jí)的環(huán)境變量則是該用戶使用系統(tǒng)時(shí)加載的環(huán)境變量片任。
1.系統(tǒng)級(jí):
(1)/etc/profile
:該文件是用戶登錄時(shí)偏友,操作系統(tǒng)定制用戶環(huán)境時(shí)使用的第一個(gè)文件,應(yīng)用于登錄到系統(tǒng)的每一個(gè)用戶对供。該文件一般是調(diào)用/etc/bash.bashrc
文件位他。
/etc/bash.bashrc
:系統(tǒng)級(jí)的bashrc文件。
(2)/etc/environment
:在登錄時(shí)操作系統(tǒng)使用的第二個(gè)文件,系統(tǒng)在讀取你自己的profile前,設(shè)置環(huán)境文件的環(huán)境變量产场。
注意:
1鹅髓、/etc/environment 每次更改需要重啟系統(tǒng)。source /etc/environment
的話只會(huì)在當(dāng)前窗口起作用京景。
2窿冯、有的系統(tǒng)這個(gè)文件里面空的。此時(shí)如果你在里面只添加了某一個(gè)自定義路徑(如:PATH="/root/nodejs/bin")确徙,然后你重啟了系統(tǒng)靡菇,那么會(huì)導(dǎo)致好多命令用不了(報(bào):-bsah commoned not found),是因?yàn)橄到y(tǒng)從該文件中找環(huán)境變量時(shí)找不到/bin導(dǎo)致的(關(guān)鍵是此時(shí)你連vi命令都用不了米愿!)厦凤。
解決辦法是:在命令行中輸入:export PATH=/bin:$PATH
。然后你就可以用vi命令了育苟,此時(shí)編輯/etc/environment文件较鼓,把其他常用的環(huán)境變量添加進(jìn)去(PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/root/nodejs/bin:"
)。
然后重啟系統(tǒng)违柏,就可以了博烂。
2.用戶級(jí)(這些文件處于家目錄下):
(1)~/.profile:每個(gè)用戶都可使用該文件輸入專用于自己使用的shell信息,當(dāng)用戶登錄時(shí),該文件僅僅執(zhí)行一次!默認(rèn)情況下,他設(shè)置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件。這里是推薦放置個(gè)人設(shè)置的地方
在原有的
PATH=$PATH:$HOME/bin
后面加上:/usr/local/nginx/sbin
其中/usr/local/nginx/sbin漱竖,是你新增的 nginx的環(huán)境變量禽篱。
配置完成以后需要退出當(dāng)前登錄重新登錄。
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin
export PATH
(2)~/.bashrc:該文件包含專用于你的bash shell的bash信息,當(dāng)?shù)卿洉r(shí)以及每次打開(kāi)新的shell時(shí),該文件被讀取馍惹。不推薦放到這兒躺率,因?yàn)槊块_(kāi)一個(gè)shell玛界,這個(gè)文件會(huì)讀取一次,效率肯定有影響悼吱。
~/.bash_profile or ~./bash_login
~/.pam_environment:用戶級(jí)的環(huán)境變量設(shè)置文件
十四慎框、wget 下載 https鏈接的文件
#可以不需要ssl驗(yàn)證
wget --no-check-certificate https://www.xxx.com/dir/abc.tgz
十五、查看系統(tǒng)名稱是Ubuntu/RedHat/CentOS等
# lsb_release -a
LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 5.7 (Final)
Release: 5.7
Codename: Final
十六后添、cp命令復(fù)制多個(gè)文件夾到某一目錄中
## 將 dir1笨枯、dir2、dir3遇西、dir4 復(fù)制到 newDir目錄中
$ cp -R /root/{dir1,dir2,dir3,dir4} /root/newDir
十七馅精、basename、dirname
1粱檀、basename 獲取當(dāng)前所處文件夾的名稱
### 例如我當(dāng)前在:/usr/local/workspace/test01目錄下
$ basename $(pwd)
## 輸出:test01
2洲敢、dirname 獲取當(dāng)前文件夾所在的目錄
### 例如我當(dāng)前在:/usr/local/workspace/test01目錄下
$ dirname $(pwd)
## 輸出:/usr/local/workspace
十八、0.0.0.0 和 127.0.0.1 的區(qū)別
如上圖:端口4873監(jiān)聽(tīng)在 127.0.0.1上梧税,導(dǎo)致雖然開(kāi)放了 4873端口沦疾,但是瀏覽器訪問(wèn)不了。
需要監(jiān)聽(tīng)在 0.0.0.0上第队。
十九哮塞、修改SSH鏈接有效時(shí)間
ssh連接超時(shí)問(wèn)題解決方案:
1.修改server端的etc/ssh/sshd_config
ClientAliveInterval 60 #server每隔60秒發(fā)送一次請(qǐng)求給client,然后client響應(yīng)凳谦,從而保持連接
ClientAliveCountMax 3 #server發(fā)出請(qǐng)求后忆畅,客戶端沒(méi)有響應(yīng)得次數(shù)達(dá)到3,就自動(dòng)斷開(kāi)連接尸执,正常情況下家凯,client不會(huì)不響應(yīng)
2.修改client端的etc/ssh/ssh_config添加以下:(在沒(méi)有權(quán)限改server配置的情形下)
ServerAliveInterval 60 #client每隔60秒發(fā)送一次請(qǐng)求給server,然后server響應(yīng)如失,從而保持連接
ServerAliveCountMax 3 #client發(fā)出請(qǐng)求后绊诲,服務(wù)器端沒(méi)有響應(yīng)得次數(shù)達(dá)到3,就自動(dòng)斷開(kāi)連接褪贵,正常情況下掂之,server不會(huì)不響應(yīng)
二十、查看文件或文件夾的大小
// 1脆丁、默認(rèn)會(huì)遞歸列出當(dāng)前目錄下左右目錄及子目錄的文件大小
$ du -h
0B ./branches
68K ./hooks
4.0K ./info
4.0K ./logs/refs/heads/feature/sdq
4.0K ./logs/refs/heads/feature
8.0K ./logs/refs/heads/wxq/fix
8.0K ./logs/refs/heads/wxq
4.0K ./logs/refs/heads/zp
20K ./logs/refs/heads
4.0K ./logs/refs/remotes/origin/bugfix
4.0K ./logs/refs/remotes/origin/cxd/feature/HFE-33864
// 2世舰、可以指定某個(gè)目錄
$ du -h logs
4.0K ./logs/refs/heads/feature
8.0K ./logs/refs/heads/wxq/fix
8.0K ./logs/refs/heads/wxq
4.0K ./logs/refs/heads/zp
20K ./logs/refs/heads
4.0K ./logs/refs/remotes/origin/bugfix
4.0K ./logs/refs/remotes/origin/cxd/feature/HFE-33864
4.0K ./logs/refs/remotes/origin/cxd/feature/HFE-3396
14.0K ./logs/refs/remotes/origin/cxd/feature/HFE-36051
24K ./logs/refs/remotes/origin/cxd/feature
28K ./logs/refs/remotes/origin/cxd
4.0K ./logs/refs/remotes/origin/dp/bugfix
// 3、可以不一一列舉槽卫,只展示總大小
$ du -sh logs
45.0K logs
二十一跟压、清空命令行歷史
# 第一步: 刪除 .bash_history 文件
rm -rf ~/.bash_history
# 第二步: 清空命令歷史記錄
history -c