Linux總結
一、文件命令:
進入 home/liuyazhuang 目錄
cd/home/liuyazhuang
ls 顯示目錄內容:
ls
mkdir 創建一個目錄 家庭A:
mkdirfamilyA
cd 切換目錄 進入familyA 目錄:
cdfamilyA
ls 顯示當前目錄內容:
ls
touch 新建空文件
touchfather.txt 家庭A中有一個父親
touchmother.txt 有一個母親
touchson.txt 兒子
touchdaughter.txt 女兒
mkdir 創建一個目錄
mkdirhouse 房子
cd 切換目錄
cdhouse
mkdir 創建目錄
mkdirkitchen 廚房
mkdirbathroom 衛生間
mkdirroomA
mkdirroomB
mkdirroomC
touchsofa.txt 沙發
ls 顯示目錄內容:
ls顯示
cd 切換目錄
cdroomB
touch 新建空文件
touchbed.txt
echo"Your are the best boy." > book.txt 建立帶簡單內容的文件
catbook.txt 查看文件內容
cd 切換目錄
cd.. 返回上一級目錄
cdroomC
touch 新建空文件
touchbed.txt
echo"Your are the best girl." > book.txt
catbook.txt
touchdoll.txt
cp 拷貝文件
cpdoll.txt /home/liuyazhuang/familyA/house/roomB
cd 切換目錄
cd..
cdroomB
ls 顯示目錄內容:
ls顯示
cd 切換目錄
cd..
mv 移動文件
mvsofa.txt /home/liuyazhuang/familyA/house/roomB
cd 切換目錄
cdroomB
ls 顯示目錄內容:
ls顯示
rm 刪除文件目錄
rmdoll.txt
more less 分頁顯示
morebook.txt
wc 顯示文檔行數,字數,字符數
wcbook.txt
find 查找指定的文件
find-name book.txt
grep 查找指定字符串
grepbest book.txt
pwd 顯示當前目錄
tree 顯示目錄樹
rmdir 刪除空目錄
rmdirbathroom
ln -s 建立軟連接
ln-s /home/liuyazhuang/familyA/house/roomB /home/roomB
二、系統管理命令
stat 顯示指定文件的相關信息
cd/home/liuyazhuang
statfamilyA
who、w 顯示在線登錄用戶
who
whoami 顯示用戶自己的身份
hostname 顯示主機名稱
hostname
hostname-i 顯示主機IP
uname 顯示系統信息
uname-a 顯示全部信息 (內核名稱,主機名,內核版本號,內核版本,硬件名,處理器類型,硬件平臺類型,操作系統名稱)
top 顯示當前系統中耗費資源最多的進程 動態顯示過程,實時監控
ps 顯示瞬間進程狀態
ps-aux 顯示所有瞬間進程狀態
du 顯示指定的文件(目錄)已使用的磁盤空間的總量 .可以使用--help查看幫助
du
dufamilyA
du-h familyA
df 顯示文件系統磁盤空間的使用情況
df
df-h
free 顯示當前內存和交換空間的使用情況
ifconfig 顯示網絡接口信息
ping 測試網絡的連通性
netstat 顯示網絡狀態信息
三、備份壓縮命令
gzip 命令
把/home/liuyazhuang目錄下的familyA目錄下所有文件壓縮成.gz文件
cd/home/liuyazhuang
tar-cvf /home/liuyazhuang/familyA.tar /home/liuyazhuang/familyA 首先進行打包,因為gzip不能直接對目錄進行壓縮
gzipfamilyA.tar 進行壓縮
gzip-l familyA.tar.gz 查看壓縮包詳細信息
解壓縮familyA.tar
gzip-dv familyA.tar.gz
gzip-v -9 familyA.tar 高壓縮比
gzip-l familyA.tar.gz
gzip-dv familyA.tar.gz
gizp-v -1 familyA.tar 低壓縮比
gzip-l familyA.tar.gz
bzip2 命令
把/home/liuyazhuang目錄下的familyA目錄下所有文件壓縮成.bz2文件
cd/home/liuyazhuang
tar-cvf /home/liuyazhuang/familyA.tar /home/liuyazhuang/familyA
bzip2-z familyA.tar 壓縮需加上參數-z
解壓縮liuyazhuang.tar.bz2
bzip2-d familyA.tar.bz2
tar 命令
將整個/home/liuyazhuang/familyA目錄下的文件全部打包成為/home/liuyazhuang/familyA.tar
僅打包,不壓縮
tar-cvf /home/liuyazhuang/familyA.tar /home/liuyazhuang/familyA
打包后,以gzip壓縮
tar-zcvf /home/liuyazhuang/familyA.tar.gz /home/liuyazhuang/familyA
打包后,以bzip2壓縮
tar-jcvf /home/liuyazhuang/familyA.tar.bz2 /home/liuyazhuang/familyA
#特別注意,在參數f之后的文件檔名是自己取的,我們習慣上都用.tar來作為辨識
#如果加z參數,則以.tar.gz或.tgz來代表gzip壓縮過的tar file
#如果加j參數,則以.tar.bz2來作為文檔名
四、VIM編輯器
VIM 編輯器
在/home/liuyazhuang/目錄下建立一個bank.txt文件
cd/home/liuyazhuang/familyA/
touchbank.txt
vimbank.txt
數據命令i 進入插入模式
輸入內容
ICBC
RMB:10000000000
USD:100000000000
user:familyA.father
ctrl+C退出插入模式或者敲ESC切換至命令模式
:wq回車 保存
編輯bank.txt 內容不保存退出
vimbank.txt
數據命令i 進入插入模式
隨便輸入內容
ctrl+C退出插入模式或者敲ESC
:q!回車 強制退出
編輯bank.txt 內容并顯示行號
vimbank.txt
:setnumber 回車
:q回車 正常退出
五、用戶和組
添加一個賬戶
useradd-m ltw 參數-m用來設定系統添加賬戶時自動建立用戶根目錄
adduser
修改ltw賬戶的登錄名稱
usermod-l litingwei ltw
修改litingwei賬戶的登錄目錄 (注意:修改前需要提前手動建立好litingwei目錄)
usermod-d /home/litingwei litingwei
鎖定用戶litingwei賬號密碼
usermod-L litingwei 鎖定后賬號不可使用
解鎖用戶litingwei賬號密碼
usermod-U litingwei
添加一個分組
groupaddsuperman
修改superman分組
groupmod-g 355 superman
刪除 superman 分組
groupdelsuperman
修改root 密碼(root密碼尚未設定,需要設定密碼后方可使用)
passwdroot
root ,litingwei 賬戶切換
su- root
或sudo -i 切換root
刪除litingwei賬號
userdel-r litingwei (-r 連同用戶目錄一起刪除)
六、文件權限
顯示出文件 /home/liuyazhuang/familyA/bank.txt 的權限
cd/home/liuyazhuang/familyA/
ls-l
切換至litingwei用戶
sulitingwei
用litingwei賬戶查看是否可以讀寫bank.txt
catbank.txt
vimbank.txt 此時litingwei沒有權限進行修改文件
切換回liuyazhuang
suliuyazhuang
修改bank.txt 權限為其他用戶可讀寫
chmodo+w bank.txt
再切換回litingwei
sulitingwei
修改bank.txt
vimbank.txt
七、搭建java環境
第一步安裝jdk
su - root 切換成root用戶
sudo -i 不需要密碼直接切換成root
1.進入usr目錄
cd /usr
2.在usr目錄下建立java安裝目錄
mkdir java
3.將jdk-6u24-linux-i586.bin拷貝到java目錄下
cp /home/liuyazhuang/Desktop/jdk-6u24-linux-i586.bin/usr/java/
4.安裝jdk
cd /usr/java
./jdk-6u24-linux-i586.bin
5.安裝完畢為他建立一個鏈接以節省目錄長度
ln -s /usr/java/jdk1.6.0_24/ /usr/jdk
6.編輯配置文件
vim /etc/profile
添加如下內容:
JAVA_HOME=/usr/jdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
8.重啟機器或source/etc/profile
sudo shutdown -r now
9.查看安裝情況
java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build1.6.0_24-b07)
Java HotSpot(TM) Client VM (build 19.1-b02,mixed mode, sharing)
第二步安裝 tomcat
tar -zxvf apache-tomcat-6.0.29.tar.gz -C/opt (解壓到/opt下)
ln -s /opt/apache-tomcat-6.0.29//opt/tomcat (建立鏈接文件)
啟動tomcat
cd /opt/tomcat/bin/
./startup.sh (注意:點代表當前目錄下)
如果啟動不了,請嘗試
-i 切換到root用戶再重新啟動
./startup.sh
測試http://127.0.0.1:8080/
第三步安裝eclipse
tar -zxvf eclipse-SDK-4.2-linux-gtk.tar.gz-C /opt (解壓到/usr/local目錄下并生成/usr/local/eclipse目錄)
cd /opt/eclipse/
./eclipse (注意:點代表當前目錄下)
八、ssh遠程登錄
1.安裝openssh-server
sudo dpkg -i openssh-client_1%3a5.5p1-4ubuntu6_i386.deb
sudo dpkg -i openssh-server_1%3a5.5p1-4ubuntu6_i386.deb
如果連網的情況下可以sudoapt-get install openssh-server進行安裝
2.設置一下ip
sudo ifconfig eth0 192.168.1.222 netmask 255.255.255.0
3. 啟動ssh-server。
$ /etc/init.d/ssh restart
service ssh restart
4. 確認ssh-server已經正常工作。
$ netstat -tlp
tcp6 0 0 *:ssh *:* LISTEN -
看到上面這一行輸出說明ssh-server已經在運行了。
5. 在客戶端通過ssh登錄服務器。假設服務器的IP地址是192.168.0.103,登錄的用戶名是hyx。
$ ssh -l hyx 192.168.0.103
接下來會提示輸入密碼,然后就能成功登錄到服務器上了
九、SSH信任
1.在第一臺主機上生成密鑰文件(用戶根目錄下就產生了.ssh的隱含目錄,進入些目錄下產生兩個文件)
id_dsa ------------ 私鑰文件
id_dsa.pub ------------ 公鑰文件
命令:
ssh-keygen -d
2.將id_dsa.pub復制一份文件名為:authorized_keys2
并將 authorized_keys2 的屬性改為 600 即文件所屬用戶有讀和寫的權限,組用戶和其它用戶禁止讀寫
命令:
cp id_dsa.pub authorized_keys2
chmod 600 authorized_keys2
3.在第二臺主機上生成密鑰文件
參看前兩步
4.將server_1上/home/work/.ssh目錄下的id_dsa.pub公鑰文件拷到
server_2的/home/work/.ssh目錄下(注意:不要覆蓋掉server_2的id_dsa.pub,拷時要改名)
命令:
scp id_dsa.pubwork@server_2:.ssh/server_1.pub
5.查看server_2上.ssh的目錄文件有:
authorized_keys2
id_dsa
id_dsa.pub
server_1.pub
6.將server_1.pub內容放到authorized_keys2,注意一定要用追加操作">>" 不能用 ">")
命令:
cat server_1.pub >>authorized_keys2
5.測試
ssh work@server_2
第一種級別(基于口令的安全驗證),
只要你知道自己的帳號和口令,就可以登錄到遠程主機,
并且所有傳輸的數據都會被加密。
但是,這種驗證方式不能保證你正在連接的服務器就是你想連接的服務器。
可能會有別的服務器在冒充真正的服務器,也就是受到"中間人"這種攻擊方式的攻擊。
第二種級別(基于密匙的安全驗證),需要依靠密匙,
也就是你必須為自己創建一對密匙,并把公有密匙放在需要訪問的服務器上。
如果你要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。
服務器收到請求之后,先在你在該服務器的用戶根目錄下尋找你的公有密匙,
然后把它和你發送過來的公有密匙進行比較。如果兩個密匙一致,服務器就用公有密匙加密"質詢"(challenge)并把它發送給客戶端軟件。
客戶端軟件收到"質詢"之后就可以用你的私人密匙解密再把它發送給服務器。
與第一種級別相比,第二種級別不需要在網絡上傳送用戶口令。
另外,第二種級別不僅加密所有傳送的數據,而"中間人"這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登錄的過程可能慢一些。