1. 程式人生 > >linux---常用命令(一)

linux---常用命令(一)

inux sca 列表 以太網 動態顯示 顯示行號 最大化 locate war

常用命令

文件與目錄操作

命令解析
cd /home 進入 ‘/home’ 目錄
cd .. 返回上一級目錄
cd ../.. 返回上兩級目錄
cd - 返回上次所在目錄
cp file1 file2 將file1復制為file2
cp -a dir1 dir2 復制一個目錄
cp -a /tmp/dir1 . 復制一個目錄到當前工作目錄(.代表當前目錄)
ls 查看目錄中的文件
ls -a 顯示隱藏文件
ls -l 顯示詳細信息
ls -lrt 按時間顯示文件(l表示詳細列表,r表示反向排序,t表示按時間排序)
pwd 顯示工作路徑
mkdir dir1 創建 ‘dir1’ 目錄
mkdir dir1 dir2 同時創建兩個目錄
mkdir -p /tmp/dir1/dir2 創建一個目錄樹
mv dir1 dir2 移動/重命名一個目錄
rm -f file1 刪除 ‘file1’
rm -rf dir1 刪除 ‘dir1’ 目錄及其子目錄內容

查看文件內容

命令解析
cat file1 從第一個字節開始正向查看文件的內容
head -2 file1 查看一個文件的前兩行
more file1 查看一個長文件的內容
tac file1 從最後一行開始反向查看一個文件的內容
tail -3 file1 查看一個文件的最後三行
vi file 打開並瀏覽文件

文本內容處理

命令解析
grep str /tmp/test 在文件 ‘/tmp/test’ 中查找 “str”
grep ^str /tmp/test 在文件 ‘/tmp/test’ 中查找以 “str” 開始的行
grep [0-9] /tmp/test 查找 ‘/tmp/test’ 文件中所有包含數字的行
grep str -r /tmp/* 在目錄 ‘/tmp’ 及其子目錄中查找 “str”
diff file1 file2 找出兩個文件的不同處
sdiff file1 file2 以對比的方式顯示兩個文件的不同
vi file
操作解析
i 進入編輯文本模式
Esc 退出編輯文本模式
:w 保存當前修改
:q 不保存退出vi
:wq 保存當前修改並退出vi

查詢操作

命令解析
find / -name file1 從 ‘/’ 開始進入根文件系統查找文件和目錄
find / -user user1 查找屬於用戶 ‘user1’ 的文件和目錄
find /home/user1 -name *.bin 在目錄 ‘/ home/user1’ 中查找以 ‘.bin’ 結尾的文件
find /usr/bin -type f -atime +100 查找在過去100天內未被使用過的執行文件
find /usr/bin -type f -mtime -10 查找在10天內被創建或者修改過的文件
locate *.ps 尋找以 ‘.ps’ 結尾的文件,先運行 ‘updatedb’ 命令
find -name ‘*.[ch]’ | xargs grep -E ‘expr’ 在當前目錄及其子目錄所有.c和.h文件中查找 ‘expr’
find -type f -print0 | xargs -r0 grep -F ‘expr’ 在當前目錄及其子目錄的常規文件中查找 ‘expr’
find -maxdepth 1 -type f | xargs grep -F ‘expr’ 在當前目錄中查找 ‘expr’

壓縮、解壓

命令解析
bzip2 file1 壓縮 file1
bunzip2 file1.bz2 解壓 file1.bz2
gzip file1 壓縮 file1
gzip -9 file1 最大程度壓縮 file1
gunzip file1.gz 解壓 file1.gz
tar -cvf archive.tar file1 把file1打包成 archive.tar(-c: 建立壓縮檔案;-v: 顯示所有過程;-f: 使用檔案名字,是必須的,是最後一個參數)
tar -cvf archive.tar file1 dir1 把 file1,dir1 打包成 archive.tar
tar -tf archive.tar 顯示一個包中的內容
tar -xvf archive.tar 釋放一個包
tar -xvf archive.tar -C /tmp 把壓縮包釋放到 /tmp目錄下
zip file1.zip file1 創建一個zip格式的壓縮包
zip -r file1.zip file1 dir1 把文件和目錄壓縮成一個zip格式的壓縮包
unzip file1.zip 解壓一個zip格式的壓縮包到當前目錄
unzip test.zip -d /tmp/ 解壓一個zip格式的壓縮包到 /tmp 目錄

yum安裝器

命令解析
yum -y install [package] 下載並安裝一個rpm包
yum localinstall [package.rpm] 安裝一個rpm包,使用你自己的軟件倉庫解決所有依賴關系
yum -y update 更新當前系統中安裝的所有rpm包
yum update [package] 更新一個rpm包
yum remove [package] 刪除一個rpm包
yum list 列出當前系統中安裝的所有包
yum search [package] 在rpm倉庫中搜尋軟件包
yum clean [package] 清除緩存目錄(/var/cache/yum)下的軟件包
yum clean headers 刪除所有頭文件
yum clean all 刪除所有緩存的包和頭文件

網絡相關

命令解析
ifconfig eth0 顯示一個以太網卡的配置
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 配置網卡的IP地址
ifdown eth0 禁用 ‘eth0’ 網絡設備
ifup eth0 啟用 ‘eth0’ 網絡設備
iwconfig eth1 顯示一個無線網卡的配置
iwlist scan 顯示無線網絡
ip addr show 顯示網卡的IP地址

系統相關

命令解析
su - 切換到root權限(與su有區別)
shutdown -h now 關機
shutdown -r now 重啟
top 羅列使用CPU資源最多的linux任務 (輸入q退出)
pstree 以樹狀圖顯示程序
man ping 查看參考手冊(例如ping 命令)
passwd 修改密碼
df -h 顯示磁盤的使用情況
cal -3 顯示前一個月,當前月以及下一個月的月歷
cal 10 1988 顯示指定月,年的月歷
date –date ‘1970-01-01 UTC 1427888888 seconds’ 把一相對於1970-01-01 00:00的秒數轉換成時間

XSheel 5相關操作

窗體快捷鍵

命令解析
Ctrl + u 刪除光標之前到行首的字符
Ctrl + k 刪除光標之前到行尾的字符
Ctrl + c 取消當前行輸入的命令,相當於Ctrl + Break
Ctrl + a 光標移動到行首(ahead of line),相當於通常的Home鍵
Ctrl + e 光標移動到行尾(end of line)
Ctrl + f 光標向前(forward)移動一個字符位置
Ctrl + b 光標往回(backward)移動一個字符位置
Ctrl + l 清屏,相當於執行clear命令
Ctrl + r 顯示:號提示,根據用戶輸入查找相關歷史命令(reverse-i-search)
Ctrl + w 刪除從光標位置前到當前所處單詞(word)的開頭
Ctrl + t 交換光標位置前的兩個字符
Ctrl + y 粘貼最後一次被刪除的單詞
Ctrl + Alt + d 顯示桌面
Alt + b 光標往回(backward)移動到前一個單詞
Alt + d 刪除從光標位置到當前所處單詞的末尾
Alt + F2 運行
Alt + F4 關閉當前窗口
Alt + F9 最小化當前窗口
Alt + F10 最大化當前窗口
Alt + Tab 切換窗口
Alt + 左鍵 移動窗口(或在最下面的任務欄滾動鼠標滑輪)

Linux簡介及Ubuntu安裝

Linux,免費開源,多用戶多任務系統。基於Linux有多個版本的衍生。RedHat、Ubuntu、Debian

安裝VMware或VirtualBox虛擬機。具體安裝步驟,找百度。

再安裝Ubuntu。具體安裝步驟,找百度。

安裝完後,可以看到Linux系統的目錄結構,見鏈接http://www.cnblogs.com/laov/p/3409875.html

常用指令

ls   顯示文件或目錄

-l 列出文件詳細信息l(list)

-a 列出當前目錄下所有文件及目錄,包括隱藏的a(all)

mkdir 創建目錄

-p 創建目錄,若無父目錄,則創建p(parent)

cd 切換目錄

touch 創建空文件

echo 創建帶有內容的文件。

cat 查看文件內容

cp 拷貝

mv 移動或重命名

rm 刪除文件

-r 遞歸刪除,可刪除子目錄及文件

-f 強制刪除

find 在文件系統中搜索某文件

wc 統計文本中行數、字數、字符數

grep 在文本文件中查找某個字符串

rmdir 刪除空目錄

tree 樹形結構顯示目錄,需要安裝tree包

pwd 顯示當前目錄

ln 創建鏈接文件

more、less 分頁顯示文本文件內容

head、tail 顯示文件頭、尾內容

ctrl+alt+F1 命令行全屏模式

系統管理命令

stat 顯示指定文件的詳細信息,比ls更詳細

who 顯示在線登陸用戶

whoami 顯示當前操作用戶

hostname 顯示主機名

uname 顯示系統信息

top 動態顯示當前耗費資源最多進程信息

ps 顯示瞬間進程狀態 ps -aux

du 查看目錄大小 du -h /home帶有單位顯示目錄信息

df 查看磁盤大小 df -h 帶有單位顯示磁盤信息

ifconfig 查看網絡情況

ping 測試網絡連通

netstat 顯示網絡狀態信息

man 命令不會用了,找男人 如:man ls

clear 清屏

alias 對命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit

kill 殺死進程,可以先用ps 或 top命令查看進程的id,然後再用kill命令殺死進程。

打包壓縮相關命令

gzip:

bzip2:

tar: 打包壓縮

-c 歸檔文件

-x 壓縮文件

-z gzip壓縮文件

-j bzip2壓縮文件

-v 顯示壓縮或解壓縮過程 v(view)

-f 使用檔名

例:

tar -cvf /home/abc.tar /home/abc 只打包,不壓縮

tar -zcvf /home/abc.tar.gz /home/abc 打包,並用gzip壓縮

tar -jcvf /home/abc.tar.bz2 /home/abc 打包,並用bzip2壓縮

當然,如果想解壓縮,就直接替換上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 換成“x” 就可以了。

關機/重啟機器

shutdown

-r 關機重啟

-h 關機不重啟

now 立刻關機

halt 關機

reboot 重啟

Linux管道

將一個命令的標準輸出作為另一個命令的標準輸入。也就是把幾個命令組合起來使用,後一個命令除以前一個命令的結果。

例:grep -r "close" /home/* | more 在home目錄下所有文件中查找,包括close的文件,並分頁輸出。

Linux軟件包管理

dpkg (Debian Package)管理工具,軟件包名以.deb後綴。這種方法適合系統不能聯網的情況下。

比如安裝tree命令的安裝包,先將tree.deb傳到Linux系統中。再使用如下命令安裝。

sudo dpkg -i tree_1.5.3-1_i386.deb 安裝軟件

sudo dpkg -r tree 卸載軟件

註:將tree.deb傳到Linux系統中,有多種方式。VMwareTool,使用掛載方式;使用winSCP工具等;

APT(Advanced Packaging Tool)高級軟件工具。這種方法適合系統能夠連接互聯網的情況。

依然以tree為例

sudo apt-get install tree 安裝tree

sudo apt-get remove tree 卸載tree

sudo apt-get update 更新軟件

sudo apt-get upgrade

將.rpm文件轉為.deb文件

.rpm為RedHat使用的軟件格式。在Ubuntu下不能直接使用,所以需要轉換一下。

sudo alien abc.rpm

vim使用

vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。

命令模式下:

:q 退出

:q! 強制退出

:wq 保存並退出

:set number 顯示行號

:set nonumber 隱藏行號

/apache 在文檔中查找apache 按n跳到下一個,shift+n上一個

yyp 復制光標所在行,並粘貼

h(左移一個字符←)、j(下一行↓)、k(上一行↑)、l(右移一個字符→)

用戶及用戶組管理

/etc/passwd 存儲用戶賬號

/etc/group 存儲組賬號

/etc/shadow 存儲用戶賬號的密碼

/etc/gshadow 存儲用戶組賬號的密碼

useradd 用戶名

userdel 用戶名

adduser 用戶名

groupadd 組名

groupdel 組名

passwd root 給root設置密碼

su root

su - root

/etc/profile 系統環境變量

bash_profile 用戶環境變量

.bashrc 用戶環境變量

su user 切換用戶,加載配置文件.bashrc

su - user 切換用戶,加載配置文件/etc/profile ,加載bash_profile

更改文件的用戶及用戶組

sudo chown [-R] owner[:group] {File|Directory}

例如:還以jdk-7u21-linux-i586.tar.gz為例。屬於用戶hadoop,組hadoop

要想切換此文件所屬的用戶及組。可以使用命令。

sudo chown root:root jdk-7u21-linux-i586.tar.gz

文件權限管理

三種基本權限

R 讀 數值表示為4

W 寫 數值表示為2

X 可執行 數值表示為1

技術分享

如圖所示,jdk-7u21-linux-i586.tar.gz文件的權限為-rw-rw-r--

-rw-rw-r--一共十個字符,分成四段。

第一個字符“-”表示普通文件;這個位置還可能會出現“l”鏈接;“d”表示目錄

第二三四個字符“rw-”表示當前所屬用戶的權限。 所以用數值表示為4+2=6

第五六七個字符“rw-”表示當前所屬組的權限。 所以用數值表示為4+2=6

第八九十個字符“r--”表示其他用戶權限。 所以用數值表示為2

所以操作此文件的權限用數值表示為662

更改權限

sudo chmod [u所屬用戶 g所屬組 o其他用戶 a所有用戶] [+增加權限 -減少權限] [r w x] 目錄名

例如:有一個文件filename,權限為“-rw-r----x” ,將權限值改為"-rwxrw-r-x",用數值表示為765

sudo chmod u+x g+w o+r filename

上面的例子可以用數值表示

sudo chmod 765 filename

linux---常用命令(一)