1.文件和目錄操做命令java
2.用戶和用戶組操做命令mysql
3.vim編輯器操做命令linux
4.打包和解壓操做命令算法
5.系統操做命令sql
1.linux是一款操做系統shell
2.linux常常來做爲服務器操做系統來用vim
1.查看日誌(任何操做的日誌)windows
2.定位bug(查看日誌,日誌級別:info/debug/error....)bash
3.搭建環境(搭建測試環境)服務器
以上三條就是測試人員會在工做常常要用的三點
1.CENTOS 6.8----linux操做系統
2.Xshell 5---遠程鏈接工具;其它還有PYTT secureCRT
3.winSCP---windows與linux傳輸工具
1.linux終端共有6個,分別tty1---tty6 經過ctrl + alt+F1~F6進行切換
2.[root@localhost ~]# 後光標閃爍表示能夠執行命令/編輯
root===表示當前登陸的用戶名
@----表示在
localhost---主機域名
~ ---- 表示root用戶的家目錄
root用戶的家目錄路徑:/root
普通用戶的家目錄 ~
普通用戶的家目錄 /home/普通用戶的用戶名目錄
# ---- 表示是root $ ---表示是普通用戶
3.快捷鍵
ctrl+c 終止當前命令
ctrl+l 清屏
ctrl+D =exit 當前用戶退出
ctrl+z 暫停當前命令 fg---恢復執行
TAB鍵----自動補全
若是輸入的字符串是惟一的,單擊tab鍵就會自動補全
若是輸入的字符串不是惟一的,雙擊tab鍵顯示全部以輸入的字符開頭的目錄或文件
linux命令同樣的能夠自動補全
注意點:自動補全只補全當前目錄下存在的目錄或文件名稱
4.目錄
/----表示根目錄
經常使用目錄
/home 普通用戶的家目錄
/root 是root用戶的家目錄
不論是普通用戶仍是root
登陸成功後,所在位置都是在各自的家目錄下
/etc 配置文件位置(用戶、密碼、服務的配置文件等)
/opt 保存第三方軟件安裝位置
/usr/local 安裝第三方軟件的位置
/tmp 臨時文件,自動清空
不論是存放軟件包或者文件時,都去新建相應的目錄,最好是當前登陸用戶家目錄下面,不要隨意刪除別人的文件
5.絕對路徑和相對路徑
什麼是絕對路徑?什麼是相對路徑?
絕對路徑是從根目錄開始的完整路徑
相對路徑是從當前位置(用戶所在的路徑位置)開始的路徑
. 表示當前目錄
.. 表示上一級目錄
pwd
pwd --查看當前位置的路徑(是從根目錄開始)
cd
cd ----切換目錄
ls
1.ls ---list---顯示當前目錄或指定目錄下文件和目錄
常用的選項:
ls -l ==ll ---查看當前目錄下的文件和目錄,以較長格式顯示文件和目錄
顯示格式講解:
第一個 -/d/l 表示文件類型
- 二進制文件 d 目錄 l 軟連接
第二個部分 rwxrwxrwx 表示各種用戶的權限
r -read 讀權限 w-wirte 寫權限 x ---執行權限
r-x 表示只有讀和執行權限
rwx rwx rwx
第一個rwx表示文件或目錄所屬用戶的權限
第二個rwx表示文件或目錄所屬組的權限
第三個rwx表示文件或目錄其餘用戶的權限
第三個部分 root 表示文件或目錄所屬用戶的用戶名
第四個部分 root 表示文件或目錄所屬組的組名
第五個部分 12288 表示文件或目錄的大小
第六個部分 Feb 25 18:41 表示文件或目錄的最後修改時間
第七個部分 文件或目錄的名稱
2.ls -a ==ls --all 查看當前目錄下的全部文件和目錄,包括隱藏文件
3.ls -h 表示以容易理解的格式顯示文件的大小, 必須與-l一塊兒使用,纔能有所體現
4.ls -i 顯示文件和目錄的i節點
每個文件和目錄的i節點都是惟一的,咱們能夠經過i節點來查找文件和目錄
mkdir
mkdir --建立新目錄
格式:mkdir [-p] 路徑/新目錄名
1.在當前目錄下建立新目錄
2.在指定的目錄下建立新目錄
3.-p, --parents no error if existing, make parent directories as needed ---遞歸建立目錄
rmdir
rmdir ---刪除空目錄
1.若是是目錄是非空,不能刪除
[root@localhost cc]# rmdir test/
rmdir: failed to remove `test/': Directory not empty'
2.不能刪除非目錄
[root@localhost ~]# rmdir install.log
rmdir: failed to remove `install.log': Not a directory'
rm
rm ---刪除文件和目錄
用法:rm [選項]... 文件...
不論是文件仍是目錄,常用就是
rm -rf 要刪除的東西(能夠是多個,中間用空格隔開)
[root@localhost tmp]# rm -rf cc test yum.log
rm -rf *---刪除當前目錄下全部文件和目錄
rm -rf te*--刪除以te開頭的全部文件和目錄
刪除以.1og結尾的內容:rm -rf *.log
使用rm命令時,必定確保這個文件和目錄肯定要刪除,在liunx系統裏面刪除是不可逆的,沒有回收站
1.刪除文件
[root@localhost tmp]# rm ifcfg-eth0
rm:是否刪除普通文件 "ifcfg-eth0"?y
[root@localhost tmp]# rm -f test.log --刪除不詢問
2.刪除目錄--- -r 同時會詢問是否刪除
[root@localhost test_dir]# rm -r test/
rm: descend into directory `test'? y
rm: remove directory `test/testt'? y
rm: remove directory `test'? y'
3.若是不想在刪除過程一直有詢問,可使用
-f---強制刪除(須要更加謹慎) force
[root@localhost test_dir]# rm -rf test/
強制刪除,而且沒有詢問
若是有些文件使用rm 不能刪除,咱們也能夠加上-f,一樣的含義強制刪除,而且沒有詢問
cp
cp --複製文件或目錄
用法:cp [選項] 原文件或目錄 目標目錄
語法:cp -rp [原文件或目錄][目標目錄]
1.複製文件:
[root@localhost test_dir]#cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp/test
[root@localhost test_dir]#cp /etc/sysconfig/network-scripts/ifcfg-eth0 ..
[root@localhost test_dir]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp
2.-p 保留原文件或目錄的屬性,屬性就是ls -l所展現的東西
[root@localhost tmp]# cp -p /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp
3.-r 複製目錄
[root@localhost tmp]# cp -r ./test_dir/test .
結論:cp 複製文件或目錄,複製成功後,原文件或目錄還存在
在複製的過程當中,還能夠更名
mv
mv與cp 最大的區別就是一個不保留原文件,一個保留原文件
1.剪切--不更名
[root@localhost test_dir]# mv ../ifcfg-eth0 .
2.剪切-更名
[root@localhost tmp]# mv test_dir/ifcfg-eth0 ./test.log
3.更名
[root@localhost test_dir]# mv test tests
做用:用來備份
場景:放了一個lib文件運行,開發說你替換一下lib文件
可是咱們保證開發的lib的文件就是OK ,那這種狀況最好備份
mv chaa.lib chaa.lib.bak
touch
touch -建立空文件
[root@localhost test]# touch test.log
這個命令不常常用,建立文件是vim編輯器
cat
cat 顯示文件內容
[root@localhost test]# cat yum.conf
一次性將文件內容徹底展現出來,而且退出
從而可得出cat不適合查看文件很大的文件,cat只適合於查看文件內容偏小的文件
tac
tac 倒着顯示文件內容
[root@localhost test]# tac test.log
適合查看文件內容偏小的,而且將最一行顯示在最前面
more
more 分頁顯示文件的內容
空格或f 向下翻頁
enter鍵 換行(一行一行的顯示)
同時在頁面最下方的位置顯示文件顯示的當前進度
q或Q 退出
缺點:只能向下翻頁,不能向上查看
less
less 分頁顯示文件的內容(向上翻頁)
空格或f 向下翻頁
enter鍵 換行
q或Q 退出
pgup/pgdn 向上/向下一頁一頁切換
方向鍵 向上/向下一行一行切換
在文件中查找指定字符串時:
1.先輸入 /
2.在/後面輸入要查找的指定字符串
好比:/error
3.回車
目前顯示的一個指定字符串是從當前位置查找到的第一個,
能夠按「n」繼續向下查找其它的
此方法常常用於在日誌定位問題,或在修改文件要修改指定內容
less是顯示文件內容命令中用得最多的
head
head --顯示文件前面幾行
1.在不跟任何選項和參數時,默認顯示文件的前十行
[root@localhost test]# head services.log
2.只顯示文件的前面5行(行數前的-很重要)
[root@localhost test]# head -5 services.log
tail
tail 顯示文件最後的幾行
1.默認顯示文件的最後十行
[root@localhost test]# tail test.log
2.只顯示文件的最後三行 -n
[root@localhost test]# tail -3 test.log
==[root@localhost test]# tail -n 3 test.log
3.-f 動態顯示文件的最後幾行(常常用)
tail -400f XX.log
動態就是顯示文件新增的內容
用於場景:主要用於實時動態顯示操做日誌
一樣是用於定位bug
chmod
chmod -改變文件或目錄的權限(讀寫執行)
rw- r-- r--
user group other
全部者 全部組 其它人
+ 增長 - 刪除 = 等於
1.將文件的寫權限刪除
[root@localhost test]# chmod u-w test.log
2.給全部組增長執行的權限
[root@localhost test]# chmod g+x test.log
3.給其它人賦於讀寫執行的權限
[root@localhost test]# chmod o=rwx test.log
4.錯誤方式
chmod u=rw o=r test.log
這種方式不行,不能同時修改全部者、全部組和其它人的權限
以上根據用戶來+-=三種方式來修改權限,顯得過於麻煩
解決方法:
r=4 w=2 x=1
4+2+1=7 用7這一個數字來表明全部權限
1.給全部者賦讀寫權限,全部組爲讀執行權限 其它人賦讀權限
[root@localhost test]# chmod 654 test.log
經過數字的方式同時修改不一樣用戶的權限
2.給全部用戶都賦於讀寫權限6
[root@localhost test]# chmod 666 test.log
目前更改權限最簡便的方法,也是最經常使用的
3.給目錄賦權
[root@localhost test]# chmod 764 test12/
同時在文件或目錄前能夠加上絕對路徑或相對路徑
4.-R 遞歸修改文件或目錄的權限(常用)
[root@localhost test]# chmod -R 644 ./test12/test
是同時將目錄下面全部的文件和子目錄中內容權限一併修改
chmod root和普通用戶都有權限
chown
chown 改變文件的全部者(常用)
1.改變test_dir.log文件的全部者爲root
[root@localhost test]# chown root test_dir.log
2.普通用戶改變log.log的全部者
[test@localhost ~]$ chown test log.log
chown: changing ownership of `log.log': Operation not permitted'
chown普通用戶是沒權限進行操做這個命令,只有root纔有權限去改變文件或目錄的全部者
chgrp
chgrp 改變文件和目錄的全部組
[root@localhost test]# chgrp test test
可是這個命令咱們通常不用,由於不多會去只改變文件和目錄的全部組
若是要改變全部組,通常會同時改變全部者和全部組
若是是同時改變全部者和全部組,能夠用chown
常用的方式
[root@localhost test]# chown wq:wq test
umask
umask ---顯示文件和目錄的默認權限
775/755 建立一個目錄
664/644 建立一個文件
022 umask---取反--755
7-0=7 7-2=5 7-2=5
表明一個目錄初始的權限爲755,一個文件的初始權限爲644(文件沒有可執行權限)
find
find ---文件搜索
格式:find [搜索範圍][匹配條件]
1.根據name來搜索(常常用)
a.精確搜索
[root@localhost test]# find /etc -name services
b.模糊搜索init開頭的文件和目錄
[root@localhost test]# find /etc -name init*
c.模糊搜索init結尾的文件和目錄
[root@localhost test]# find /etc -name *init
d.模糊搜索包含init的文件和目錄
[root@localhost test]# find /etc -name *init*
e.模糊搜索以init開頭的後面只有三個字符串的文件或目錄
* 表明一組字符串
? 表明一個字符
[root@localhost test]# find /etc -name init???
linux對大小很敏感,並且空格也敏感
[root@localhost test]# find /etc -name INIT???
f.根據name搜索時,不區分大小寫用選項 -iname
[root@localhost test]# find /etc -iname INIT???
/etc/inittab
[root@localhost test]# find /etc -name INIT???
沒有搜索出任何數據
2.根據文件大小搜索
a.大於4096的文件 +4096
[root@localhost test]# find /etc -size +4096
b.小於4096的文件 -4096
[root@localhost test]# find /etc -size -4096
c.等於4096的文件
[root@localhost test]# find /etc -size 4096
d.大於4096同時小於641020的文件 -a
[root@localhost test]# find /etc -size +4096 -a -size -641020
e.大於4096或者小於641020的文件
[root@localhost test]# find /etc -size +4096 -o -size -641020
3.根據文件全部者去搜索
[root@localhost test]# find /home/test -user test
[root@localhost test]# find -user test
若是不寫搜索範圍,默認搜索從當前目錄開始,搜索下面匹配的文件和目錄
4.根據文件屬性搜索
a.搜索5分鐘以內內容被修改的文件
[root@localhost test]# find . -mmin -5
文件內容被修改的同時,文件屬性也會被修改
b.搜索3分鐘以內文件屬性被修改的文件
[root@localhost test]# find . -cmin -3
amin cmin mmin後面接分鐘
atime ctime mtime後面接小時
5.根據文件類型來搜索
- 二進制文件f d 目錄 l 軟連接
1.搜索目錄---文件類型爲d
[root@localhost test]# find . -type d
2.搜索當前目錄下文件類型爲文件 f
[root@localhost test]# find . -type - ---錯誤
find: -type 的參數未知: -
[root@localhost test]# find . -type f ---正確
3.搜索當前目錄下的文件類型爲軟連接 l
[root@localhost test]# find . -type l
4.在根目錄下搜索文件名稱爲services的文件
[root@localhost test]# find / -name services -type f
grep
grep --搜索文件的內容
1.搜索test.log這個文件中包含qwer字符串的行
[root@localhost test]# grep qwer ./test.log
2.不區分大小寫進行搜索 選項 -i
[root@localhost test]# grep -i test test.log
3.搜索不包含123的文件內容
[root@localhost test]# grep -v 123 test.log
4.搜索不包含test的文件內容,不區分大小寫
[root@localhost test]# grep -iv test test.log
5.搜索不是以1開頭的文件內容
[root@localhost test]# grep -v ^1 test.log
6.搜索以1開頭的行
[root@localhost test]# grep ^1 test.log
^ 表示以什麼開頭
在shell腳本 #表示註釋
7.屏蔽掉註釋行 --
[root@localhost test]# grep -v ^# sysctl.conf
8.常用的一種方法---管道 |
[root@localhost test]# ps -ef |grep java
ps -ef 查詢進程
|管道符 command1 | command2
將command1的輸出做爲command2的輸入
[root@localhost test]# ls -l |grep test
ln
ln --連接命令
連接分爲軟連接和硬連接
1.給目錄建立軟連接 -s
[root@localhost tmp]# ln -s /tmp/test/test12/test ./test1
lrwxrwxrwx. 1 root root 21 Apr 14 21:06 test1 -> /tmp/test/test12/test
軟連接的大小很是小,只是一個連接
軟連接至關於windows下面的快捷方式
2.給文件建立軟連接
[root@localhost tmp]# ln -s /tmp/test/test12/test/tw.log .
軟連接的目標文件和原文件的i節點不一樣
3.給文件建立一個硬連接
[root@localhost tmp]# ln /tmp/test/test12/test/tw.log ./tw1.log
硬連接的i節點相同
[root@localhost tmp]# ln /tmp/test/test12/test ./test_dir
ln: `/tmp/test/test12/test': hard link not allowed for directory'
硬連接不能針對目錄使用,只能對文件使用
目錄
1.文件和目錄操做命令
2.用戶和用戶組操做命令
3.vim編輯器操做命令
4.打包和解壓操做命令
5.系統操做命令
//用戶與用戶組操做命令
useradd 建立用戶
1.不指定任何信息,建立一個用戶
[root@localhost network-scripts]# useradd test_dir
修改的文件
(1)passwd文件:
test_dir:x:502:502::/home/test_dir:/bin/bash
(2)shadow文件
test_dir:!!:17270:0:99999:7:::
!!表示沒有密碼
17270爲1970年1月1日到今天的天數,也就是時間戳
0表示兩次密碼修改間隔天數
99999表示密碼的有效期,99999表示永久生效
7表示密碼到期前的警告天數
密碼到期後寬限天數
(3)group文件-在建立test_dir這個用戶的同時,也建立一個與test_dir相同名稱的組
test_dir:x:502:---組
(4)gshadow文件-指test_dir組的密碼
test_dir:!::
(5)家目錄-新增一個test_dir的目錄
[root@localhost home]# ll drwx------. 2 test_dir test_dir 4096 Apr 14 22:08 test_dir
(6)郵件-新一個test_dir的目錄
[root@localhost network-scripts]# ls -l /var/spool/mail/|grep test_dir -rw-rw----. 1 test_dir mail 0 Apr 14 22:08 test_dir
2.添加參數增長用戶
[root@localhost network-scripts]# useradd -u 555 -d /home/hom -c "tester" -g test -G wq test1
已經指定一個存在的初始組,那麼就不會再增長與用戶名相同的組
test1:$6$mjPKHzI/$dg6TtCABUBmzKIwv8Xrvv1iAQVtRhkN0CIoFIqu.8CdyA.E6Rds.s.FcowhXNQAf/rf.znrgVayd8vLfhsBIt0:17270:0:99999:7:::
有密碼時,!!會變成被加密後的字符串
用戶沒有密碼時,不能登陸
passwd 修改用戶密碼
1.root用戶去修改密碼,能夠設置簡單的密碼
格式 :passwd 用戶名
[root@localhost network-scripts]# passwd test03 Changing password for user test03. New password: BAD PASSWORD: it is too simplistic/systematic BAD PASSWORD: is too simple Retype new password: passwd: all authentication tokens updated successfully.
只有root纔有權限去修改其它用戶的密碼,而且能夠設置相對簡單的密碼
其餘用戶只能修改本身的密碼,而且要根據linux密碼設置規範去設置密碼
2.test用戶修改密碼
格式:passwd
[test@localhost ~]$ passwd Changing password for user test. Changing password for test. (current) UNIX password: New password: BAD PASSWORD: it is too simplistic/systematic New password: Retype new password: passwd: all authentication tokens updated successfully.
不能少8個字符,且相對複雜的密碼
3.passwd -S 顯示用戶的密碼狀態
[root@localhost network-scripts]# passwd -S test test PS 2017-04-14 0 99999 7 -1 (Password set, SHA512 crypt.)
4.passwd -l暫時鎖定用戶
[root@localhost network-scripts]# passwd -l test Locking password for user test. passwd: Success [root@localhost network-scripts]# cat /etc/shadow|grep test test:!!$6$XQLbiOl1$b/OUZT0T21cZxnnLZrjBSIG1/IvyzvfFlqkERgTypWrdf5xJwmprm5.kntSiqJ2v9ozEVsPCI6OEfmPrQrBRa1:17270:0:99999:7:::
鎖定用戶其實就是在用戶的密碼標誌前加上!!,將密碼致爲失效,至關於用戶沒有密碼,沒有密碼的用戶是不能進行登陸的
5.passwd -u 解鎖用戶
[root@localhost network-scripts]# passwd -u test Unlocking password for user test. passwd: Success [root@localhost network-scripts]# cat /etc/shadow|grep test test:$6$XQLbiOl1$b/OUZT0T21cZxnnLZrjBSIG1/IvyzvfFlqkERgTypWrdf5xJwmprm5.kntSiqJ2v9ozEVsPCI6OEfmPrQrBRa1:17270:0:99999:7:::
解鎖用戶就是去掉用戶密碼標誌前的!!
3-5 中的命令只有root用戶纔有權限操做
usermod 修改用戶的信息
1.修改test的UID爲999 -u 手工指定的UID
[root@localhost network-scripts]# usermod -u 999 test
2.修改test用戶的用戶說明爲「tester lead」 -c
[root@localhost network-scripts]# usermod -c "tester lead" test
3.修改test用戶的附加組爲wq -G
[root@localhost network-scripts]# usermod -G wq test
表示wq這個組的附加用戶有test1用戶,test用戶
一個用戶的初始組只有一個,能夠擁有多個附加組
chage 修改用戶的密碼狀態
-l ---顯示密碼的詳細列表
-m ---修改二次密碼間隔天數
-M ---修改密碼的有效期
-W ---修改密碼的警告天數
-I ---修改密碼的寬限天數
-E ---修改帳戶失效日期
userdel 刪除用戶
1.userdel 用戶名
執行userdel 用戶名時,文件的內容被修改的就是如下幾個文件(etc)
[root@localhost ~]# find /etc -mmin -2
而家目錄下面,相同用戶名的目錄沒有被刪除
2.userdel -r 用戶名
[root@localhost home]# userdel -r test01
使用這個選項-r,不只將etc下面的四個文件內容被修改了,並且還將home和mail目錄下面,與用戶名相同的目錄被刪除了
根據以上的信息,咱們能夠知道無論增長仍是刪除用戶,修改的文件就是passwd shadow group gshadow ,還包含的home和mail目錄
從而得知,若是是手工添加用戶或刪除用戶,直接去修改這幾個文件也能夠達到相同的效果
id 顯示用戶的組ID和用戶ID
格式:id 用戶名
[root@localhost mail]# id test uid=999(test) gid=501(test) groups=501(test),500(wq)
不只顯示了用戶ID,還顯示了初始組ID,同時組中還包含了附加組的ID
[root@localhost mail]# cat /etc/group |grep test wq:x:500:test1,test test:x:501:
su 切換用戶
1.使用su命令時,必定要記得加上 - 表明同時切換環境變量
(常常用)
[root@localhost mail]# su - test
使用su命令時,不加 - 不能徹底切換,這種用法是錯誤的
2.在不切換用戶的時候,能夠跟上 -c 使用其用戶執行一次的命令
[test@localhost home]$ su root -c "useradd test02" Password:
groupadd 添加組
1.groupadd 組名
添加一個組時,修改的文件爲group gshadow
2.-g 手工指定組ID
[root@localhost mail]# groupadd -g 1222 t2
groupadd所增長不是任何一個用戶的初始組或者附加組、
groupmod 修改組信息
1.修改組ID -g
格式:groupmod -g 新的組ID 組名
[root@localhost mail]# groupmod -g 1112 t1
2.修改組的組名
格式:groupmod -n 新組名 舊組名
要把組名爲t1的組改爲組名爲tt1
[root@localhost mail]# groupmod -n tt1 t1
groupdel 刪除組
1.刪除的組既不是初始組也不是附加組
[root@localhost mail]# groupdel t2
刪除時修改的文件爲group gshadow
2.刪除初始組
[root@localhost mail]# groupdel test groupdel: cannot remove the primary group of user 'test'
用戶的初始組不能夠刪除
若是要刪除,解除綁定,將組改爲非初始組
3.刪除附加組
[root@localhost mail]# cat /etc/group |grep test04 tt1:x:1112:test04 test04:x:1002: [root@localhost mail]# groupdel tt1 [root@localhost mail]# cat /etc/group |grep test04 test04:x:1002:
若是一個組是某用戶的附加組,能夠被刪除
從而得出初始組不能被刪除,附加組能夠被刪除
gpasswd 給組添加附加用戶或給組刪除附加用戶
gpasswd操做都是附加組
1.將test用戶做爲test03組的附加用戶
格式:gpasswd -a 用戶名 組名
[root@localhost mail]# gpasswd -a test test03 Adding user test to group test03 test03:x:1000:test
表示test用戶爲test03的附加用戶
2.刪除test03組的附加用戶test
格式:gpasswd -d 附加用戶名 組名
[root@localhost mail]# gpasswd -d test test03 Removing user test from group test03 [root@localhost mail]# cat /etc/group|grep test03 test03:x:1000:
//文檔的壓縮與打包
gzip 壓縮
格式:gzip 文件名
1.壓縮文件
[root@localhost test]# gzip services
使用這條命令,引發的變化:
1.文件的大小變了,從626K-125K
gzip能夠對文件進行60%-70%的壓縮
2.文件的名字改變了,從services 變成services.gz
其實就是在文件的名字後加上了.gz
原文件被刪除,新增一個.gz的文件
壓縮後文件格式變成.gz
gunzip 解壓
格式:gunzip 文件名.gz
1.對.gz文件使用gunzip命令解壓
[root@localhost test]# gunzip services.gz
gunzip變化與gzip相反
2.對.gz文件使用gzip -d 解壓
[root@localhost test]# gzip services [root@localhost test]# ls -lh services.gz -rwxr-xr-x. 1 root root 125K Apr 14 17:55 services.gz [root@localhost test]# gzip -d services.gz [root@localhost test]# ls -hl services -rwxr-xr-x. 1 root root 626K Apr 14 17:55 services
gzip壓縮工具解壓文件,gzip工具壓縮率很是高,因此使用也很是頻繁
tar 命令
打包和壓縮:
打包是指將一大堆文件或目錄變成一個總的文件
壓縮則是將一個大的文件經過一些壓縮算法變成一個小文件
這是二個步驟,是分開的
-c, --create 建立一個新歸檔 -x, --extract, --get 從歸檔中解出文件 -f, --file=ARCHIVE 使用歸檔文件或 ARCHIVE 設備 --force-local 即便歸檔文件存在副本仍是把它認爲是本地歸檔 -v, --verbose 詳細地列出處理的文件 -z, --gzip, --gunzip, --ungzip 經過 gzip 過濾歸檔
0.歸檔文件,並建立一個新的歸檔文件
將123233和yum.conf打包在一塊兒
[root@localhost test]# tar -cf 12.tar 123233 yum.conf
變化:
1.文件大小沒變
[root@localhost test]# ls -hl 123233 12.tar yum.conf -rw-r--r--. 1 501 test 9 4月 12 17:21 123233 -rw-r--r--. 1 root root 10K 4月 17 20:17 12.tar -rwxrw-r--. 1 root root 969 4月 12 16:40 yum.conf
2.將二個文件生成一個.tar的文件
tar:在window來講就是將多個文件放到一個文件夾
3.將一個tar文件打開
[root@localhost test12]# tar -xvf 12.tar
4.在打包的同時並壓縮--- -czvf(常常用)
[root@localhost test12]# tar -czvf qq.tar.gz 123233 yum.conf -rw-r--r--. 1 root root 10240 4月 17 20:23 12.tar -rw-r--r--. 1 root root 757 4月 17 20:30 qq.tar.gz
以上二個文件內容相同,第一個文件是將多個文件只是打包在一塊兒,第二個文件是將多個文件打包的同時並壓縮
5.解包並解壓
[root@localhost test12]# tar -xzvf q.tar.gz
tar命令打包並壓縮:原文件沒有被刪除,而是生成一個新的.tar.gz
解壓的時候也是將.tar.gz裏的文件被釋放出來,若是有相同的文件名被覆蓋
打包壓縮:tar -czvf 新文件名.tar.gz 文件1 文件2 ... 目錄1 目錄2...
解包解壓:tar -xzvf 解包解壓的文件名
6.將某個目錄全部的文件和目錄都打包壓縮
[root@localhost test12]# tar -czvf test12.tar.gz *
zip 對文件或目錄壓縮
1.壓縮文件
[root@localhost test]# zip q.zip 123233 yum.conf
對比gzip和zip壓縮後的文件大小:
-rw-r--r--. 1 root root 757 4月 17 20:57 1.tar.gz -rw-r--r--. 1 root root 891 4月 17 20:56 q.zip
能夠獲得gzip比zip壓縮率高
2.壓縮目錄 -r
[root@localhost test]# zip -r test.zip test12
原目錄與壓縮後的文件
drwxrwxrwx. 3 root root 4096 4月 17 20:44 test12 -rw-r--r--. 1 root root 516448 4月 17 21:00 test.zip
壓縮過程當中原文件或原目錄不會被刪除
unzip 解壓.zip文件
1.解壓
[root@localhost test]# unzip test.zip
2.將解壓的結果顯示在屏幕上 -c
[root@localhost test]# unzip -c q.zip
將文件的內容直接展現在屏幕上
3.-n 解壓時不要覆蓋原有的文件
使用-n時,原有文件存在
[root@localhost test]# unzip -n q.zip Archive: q.zip
使用-n時,原有文件不存在
[root@localhost test]# unzip -n q.zip
unzip解壓後原來的.zip還存在
bzip2 壓縮文件
格式:bzip2 文件名
1.bzip2壓縮文件且原文件刪除
[root@localhost test]# bzip2 yum.conf
並新生成了一個.bz2的文件
2.-k 壓縮文件的同時保留原文件
[root@localhost test]# bzip2 -k services
bunzip2 解壓
[root@localhost test]# bunzip2 123233.bz2
[root@localhost test]# ll
-rw-r--r--. 1 root root 9 4月 12 17:21 123233
生成一個新文件,原來的.bz2被刪除了
//vim編輯器 vi命令
vim編輯器有三種模式:
通常模式:使用vi命令進入的那個模式就是通常模式
命令模式:在通常模式下輸入:或/ 即進入了命令模式
編輯模式:在通常模式下按I,i,A,a,O,o,R 即進入了編輯模式
在編輯模式下會提示INSERT REPLACE字樣
從命令模式或者編輯模式切換到通常模式,按ESC
通常模式下的命令:
1.方向鍵 單個字符上下左右切換
2.pageup、pagedown 向上 向下翻頁
ctrl+f ctrl+d
3.0/shift+6 回到本行的行首
4.shift+4 回到本行的行尾
進入到編輯模式按I,i,A,a,O,o,R
按I---在光標所在行的行首插入字符
按i---在光標的前面插入字符
按A---在光標所在行的行尾插入字符
按a---在光標後面插入字符
按O---在光標所在行的上方插入新的一行
按o---在光標所在行的下方插入新的一行
按以上6個字母,均可以從通常模式切換到編輯模式,且顯示「INSERT」字樣
以上6個,都插入字符,只是位置不一樣,若是記不住所有的,記住一個也行
按R---從通常模式切換到編輯模式,顯示「REPLACE」
表示從光標所在處開始替換輸入的字符串,直到按ESC結束
通常模式下:
在通常模式下按r---只替換光標所在處的一個字符
按u---撤消
能夠一直按,直到「Already at oldest change」,表示文件版本已經回到原始文檔狀態
如下命令都是在通常模式下使用:
x---刪除光標所在處的字符
nx---刪除從光標所在處開始n個字符
dd---刪除光標所在行整個一行
ndd---刪除從光標所在行開始的n行
dG---刪除從光標所在行到該文件的最後一行(包括最一行)
D---刪除從光標所在處到本行的行尾
gg---回到該文件的首行
G---回到該文件的最後一行
nG--到n行
yy---複製當前行
nyy---複製從當前行往下n行(包括當前行)
dd---剪切當前行
ndd---剪切當前行往下n行
p---粘貼在光標所在行的行下
P---粘貼在光標所在行的行上
在命令模式下命令:
:n1,n2d---刪除從第n1行到第n2行
:set nu---設置行號
:set nonu---取消行號
:n---到n行
/搜索的字符串---在文件中搜索指定的字符串
通常是從光標所在行開始往下搜索,按n查找下一個指定的字符串
:set ic---搜索過程當中不區分大小寫
:set noic---搜索過程當中區分大小寫
替換:
:%s/old/new/g----將全文中old的字符串一次性所有替換成new
:%s/old/new/c----找到第一個要替換的old字符串,而且詢問是否要替換
replace with test (y/n/a/q/l)?
y-yes n-no a-all q-quit l-only
:n1,n2s/old/new/g---在n1行到n2行之間中這old字符串替換成new字符串
:wq ---保存並退出
:wq! ---強制保存並退出
:q ---退出,不保存修改
:q! --強制退出,不保存修改
:w --保存
:w new_name ---另存爲指定文件
ZZ ==:wq
//系統命令
軟件測試常常用到的系統命令就是查看進程,或者是去看系統的健康狀態
1.top---查看linux系統的健康狀態
PID ---進程ID
2.free--查看liunx系統的空閒空間
3.kill --殺死進程
4.ps -ef
ps -ef|grep java
查看進程中包含java的進程,其實也至關查詢java服務有沒有啓動起來
5.kill ---用於結束服務或進程
格式:kill 進程號
1.強制結束進程 -9
格式:kill -9 進程號----強制殺死該進程
2.一次性結束多個進程
格式:kill 進程號1 進程號2 ....
6.查看端口號
[root@localhost test]# netstat -lnp|grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2043/mysqld
7.執行服務
[root@localhost bin]# ./startup.sh [root@localhost bin]# ./shutdown.sh
8.啓動/中止mysqld服務
service mysqld start/stop