1、基本命令
bash Bash(GNU Bourne-Again Shell)是許多Linux平臺的內定Shell
pwd 查看當前所在目錄
ls 查看目錄內全部文件
cd 進入目錄
cd .. 返回上一層
ps -ef|grep test 找test相關進程
ps -ef|grep test | more 翻頁查看
kill -9 id 終止進程
刪除ums-svr/temp和ums-clnt/temp下全部文件
rm -rf ./*
rm -rf 文件名或文件夾名
進入xxx/bin目錄
nohup corba/runnotify.sh &
nohup ./run.sh &html
clear 清屏linux
啓動程序:
./client.sh
sh xx.sh 運行xx shell腳本sql
2、賦權限
--chmod變動文件或目錄的權限
chmod 777 install.sh
drwxrwxrwx user group other
chmod -R 755 container 給container及子目錄賦權限。shell
將文件夾test全部者改成user1及其用戶組。
chown -R user1:other test
--進入root目錄下,受權/root/data文件夾的全部者爲datauser
chown -R datauser data
--進入root目錄下,受權/root/data文件夾的全部者爲oracle,組爲dba
chown -R oracle:dba dataubuntu
chown -R oracle:oinstall datawindows
./install.sh
ls -l 查看各用戶權限centos
Linux中切換用戶的命令是su或su -:
u切換成root用戶之後,pwd一下,發現工做目錄仍然是普通用戶的工做目錄;
而用su -命令切換之後,工做目錄變成root的工做目錄了
su -bash
切換到其餘用戶,例如切換到oracle用戶
su - oracle服務器
3、解壓縮
unzip *.zip 解壓網絡
unzip *.zip -d dir 解壓到指定目錄
zip -r file.zip dir/* 將dir及dir如下的文件壓縮成file.zip。
tar cvf file.tar dir/* 壓縮文件
tar -xvf file.tar 解壓tar文件。
tar zxvf /bbs.tar.zip -C /zzz/bbs
//把根目錄下的bbs.tar.zip解壓到/zzz/bbs下,前提要保證存在/zzz/bbs這個目錄
.Tar.gz
解壓:tar zxvf FileName.Tar.gz 或 tar zxvf FileName.Tar.gz -C /test/ 將FileName解壓到/test/目錄下
壓縮:tar zcvf FileName.Tar.gz DirName
AIX下沒有Z參數,壓縮只能使用tar cvf FileName.Tar DirName
AIX還能夠用以下命令解壓:
jar xvf file.zip
4、文本編輯
vi auto_run_param.properties 編輯指定文件
/string 查找 'string'
n 查找下一個
:g/string1/string2/// 將全部的string1 替換成 string2
x刪除
a在後面增長字符。
i插入字符。
:x 退出並保存
:wq 寫,保存退出
:q! 強制退出,不保存
hjkl: 左上下右
5、修改日期(時間)
查看時間:date
修改時間:date mmddHHMMYYYY.SS
6、文件夾操做
mkdir 建立文件夾
cp命令
功能:將給出的文件或目錄拷貝到另外一文件或目錄中,就如同DOS下的copy命令同樣,功能很是強大。
語法:cp [選項] 源文件或目錄 目標文件或目錄
說明:該命令把指定的源文件複製到目標文件或把多個源文件複製到目標目錄中。
示例:
cp -r root/ test/ 複製 root及其下的文件到 test下。
cp -r root/* test/ 複製 root下的文件到 test下。不包括root包。
(直接覆蓋的方式)
cp -r -f root/* test/ 複製 root下的文件到 test下。不包括root包。
強制覆蓋:
在命令前面加上反斜槓\
示例:
\cp -r root/* test/ 複製 root下的文件到 test下。不包括root包。
mv命令
功能:爲文件或目錄更名或將文件由一個目錄移入另外一個目錄中。該命令如同DOS下的ren和move的組合。
語法:mv [選項] 源文件或目錄 目標文件或目錄
參數:
- I 交互方式操做。若是mv操做將致使對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答y或n,這樣能夠避免誤覆蓋文件。
- f 禁止交互操做。在mv操做要覆蓋某已有的目標文件時不給任何指示,指定此選項後,i選項將再也不起做用。
例1:將/usr/xu中的全部文件移到當前目錄(用「.」表示)中:
$ mv /usr/xu/ * .
例2:將文件test1.txt重命名爲test2.doc
$ mv test1.txt test2.doc
rm命令
功能:在linux中建立文件很容易,系統中隨時會有文件變得過期且毫無用處。用戶能夠用rm命令將其刪除。該命令的功能爲刪除一個目錄中的一個或多個文件或目錄,它也能夠將某個目錄及其下的全部文件及子目錄均刪除。對於連接文件,只是刪除了連接,原有文件均保持不變。
語法: rm [選項] 文件
若是沒有使用- r選項,則rm不會刪除目錄。
參數:
- f 忽略不存在的文件,從不給出提示。
- r 指示rm將參數中列出的所有目錄和子目錄均遞歸地刪除。
- i 進行交互式刪除。
$ rm – ii test example Remove test ?n Remove example ?y
$ rm -rf /home/test/ 刪除/home/test/目錄以及下面全部子目錄
AIX:rm -fr /temp
scp命令 遠程拷貝命令
scp -r root@10.10.1.47:/home/conf/a.txt /home/test/ 將a.txt從10.10.1.47拷貝到本機/home/test/目錄下
7、顯示修改(輸出到xmanager界面上)
安裝時沒有界面顯示的處理方法。ip爲運行xmanager的機器ip。0.0爲xmanager的機器端口號
DISPLAY=ip:0.0
echo $DISPLAY 查看DISPLAY的值。
export DISPLAY
/usr/openwin/bin/xhost +ip
若是是要將VNC上界面輸出出來,則使用:
DISPLAY=localhost:vnc端口號
export DISPLAY
示例:
export DISPLAY=10.60.56.144:0.0
export DISPLAY=本機IP:0.0
oracle用戶執行dbca,報錯Xlib: connection to "0.0" refused by server Xlib: No protocol specified Error:Can't open display:0.0
執行 xhost local:oracle non-network local connections being added to access control list
ORA-09945: Unable to initialize the audit trail file
緣由:$ORACLE_HOME空間不足。
8、磁盤空間查看。
df -k 查看磁盤空間利用狀況。
df -h 查看磁盤空間利用狀況
du -ch > /diskUsage.txt 查看每一個文件,文件夾的大小,輸出到/diskUsage.txt文件中
du -sg 查看文件夾大小。 k,m,g表示單位KB,MB,GB。
du -sg * 查看每一個文件,文件夾大小。
du -sh /home/test 查看test目錄大小
du -sh * linux查看各個目錄大小
查看linux文件目錄的大小和文件夾包含的文件數
du -sh *
統計總數大小
du -sh xmldb/
du -sm * | sort -n //統計當前目錄大小 並安大小 排序(linux du -sh *|sort -n)
du -sk * | sort -n
du -sk * | grep guojf //看一我的的大小
du -m | cut -d "/" -f 2 //看第二個/ 字符前的文字
查看此文件夾有多少文件 /*/*/* 有多少文件
du xmldb/
du xmldb/*/*/* |wc -l
40752
解釋:
wc [-lmw]
參數說明:
-l :多少行
-m:多少字符
-w:多少字
du:查詢文件或文件夾的磁盤使用空間
若是當前目錄下文件和文件夾不少,使用不帶參數du的命令,能夠循環列出全部文件和文件夾所使用的空間。
這對查看到底是那個地方過大是不利的,因此得指定深刻目錄的層數,參數:--max-depth=,這是個極爲有用的參數。
以下,注意使用「*」,能夠獲得文件的使用空間大小.
參考:http://www.cnblogs.com/benio/archive/2010/10/13/1849946.html
示例:查看oracle以及其下一級目錄的大小
du -h --max-depth=1 /oracle
查看內存。
bootinfo -r
prtconf | grep Mem
AIX
關機 shutdown -F
重啓 shutdown -r now
Solaris
重啓 init 6
關機並關掉電源 init 5
關機 init 0
LINUX
重啓命令:
一、reboot
二、shutdown -r now 馬上重啓(root用戶使用)
三、shutdown -r 10 過10分鐘自動重啓(root用戶使用)
四、shutdown -r 20:35 在時間爲20:35時候重啓(root用戶使用)
關機命令:
一、halt 馬上關機
二、poweroff 馬上關機
三、shutdown -h now 馬上關機(root用戶使用)
四、shutdown -h 10 10分鐘後自動關機
9、查詢端口上的進程 lsof -i:10021
10、啓動FTP
/etc/init.d/vsftpd start
查看當前oracle實例名:
su - oracle
echo $ORACLE_SID
11、查看當前字符集
echo $LANG
12、查找文件
find / -name macro 查找包含macro名稱的文件路徑
部分文件名查找方法:
find /etc -name '*srm*' #包含srm字符的
find /etc -name 'srm*' #查找srm開頭的
find / -amin -10 # 查找在系統中最後10分鐘訪問的文件
find / -atime -2 # 查找在系統中最後48小時訪問的文件
find / -empty # 查找在系統中爲空的文件或者文件夾
find / -group cat # 查找在系統中屬於 groupcat的文件
find / -mmin -5 # 查找在系統中最後5分鐘裏修改過的文件
find / -mtime -1 #查找在系統中最後24小時裏修改過的文件
find / -nouser #查找在系統中屬於做廢用戶的文件
find / -user fred #查找在系統中屬於FRED這個用戶的文件
十3、查看IP地址
ifconfig
更改網絡接口的IP地址:
#ifconfig hme0 down
#ifconfig hme0 211.101.149.233 netmask 255.255.255.0 up
附:linux下啓動oracle
#su - oracle
#sqlplus '/as sysdba'
#startup
十四。查看linux系統數(AIX與linux系統不同的)
方式1 #getconf WORD_BIT
方式2 #uname-a若是有x86_64就是64位的,沒有就是32位的
十5、建立用戶
添加新的用戶帳號使用useradd命令:
useradd 選項 用戶名
其中各選項含義以下:
-c comment 指定一段註釋性描述。
-d 目錄 指定用戶主目錄,若是此目錄不存在,則同時使用-m選項,能夠建立主目錄。
-g 用戶組 指定用戶所屬的用戶組。
-G 用戶組,用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登陸Shell。
-u 用戶號 指定用戶的用戶號,若是同時有-o選項,則能夠重複使用其餘用戶的標識號。
id <username>
便可查看用戶ID。
修改用戶默認目錄:
usermod -d <新目錄> <用戶名>
十6、刪除帳號
userdel 選項 用戶名 (經常使用的選項是-r,它的做用是把用戶的主目錄一塊兒刪除。)
# userdel sam
修改賬號
usermod 選項 用戶名
經常使用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項同樣,能夠爲用戶指定新的資源值。另外,有些系統可使用以下選項:
代碼:
-l 新用戶名
這個選項指定一個新的帳號,即將原來的用戶名改成新的用戶名。
例如:
代碼:
# usermod -s /bin/ksh -d /home/z –g developer sam
此命令將用戶sam的登陸Shell修改成ksh,主目錄改成/home/z,用戶組改成developer。
十7、查看ip
ifconfig
十8、shell腳本中過濾windows特殊字符
cat ./test.sh | col -b >./test_new.sh
十9、FTP獲取文件
ftp 10.62.57.50
name:testuser
password:testpwd
ftp>bin
ftp>cd 目錄名
ftp>get *.tar
二10、rpm命令
rpm -q samba //查詢程序是否安裝
rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm //按路徑安裝並顯示進度
rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安裝目錄
rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm //用來檢查依賴關係;並非真正的安裝;
rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降級爲舊版本
rpm -qa | grep httpd #[搜索指定rpm包是否安裝]--all搜索*httpd*
rpm -ql httpd #[搜索rpm包]--list全部文件安裝目錄
rpm -qpi Linux-1.4-6.i368.rpm #[查看rpm包]--query--package--install package信息
rpm -qpf Linux-1.4-6.i368.rpm #[查看rpm包]--file
rpm -qpR file.rpm #[查看包]依賴關係
rpm2cpio file.rpm |cpio -div #[抽出文件]
rpm -ivh file.rpm #[安裝新的rpm]--install--verbose--hash
rpm -ivh
rpm -Uvh file.rpm #[升級一個rpm]--upgrade
rpm -e file.rpm #[刪除一個rpm包]--era
參數:
-ivh:安裝顯示安裝進度--install--verbose--hash
-Uvh:升級軟件包--Update;
-qpl:列出RPM軟件包內的文件信息[Query Package list];
-qpi:列出RPM軟件包的描述信息[Query Package install package(s)];
-qf:查找指定文件屬於哪一個RPM軟件包[Query File];
-Va:校驗全部的RPM軟件包,查找丟失的文件[View Lost];
-e:刪除包
#ubuntu安裝deb 文件
dpkg -i file.deb
如下是一些 Dpkg 的普通用法:
一、dpkg -i <package.deb>
安裝一個 Debian 軟件包,如你手動下載的文件。
二、dpkg -c <package.deb>
列出 <package.deb> 的內容。
三、dpkg -I <package.deb>
從 <package.deb> 中提取包裹信息。
四、dpkg -r <package>
移除一個已安裝的包裹。
五、dpkg -P <package>
徹底清除一個已安裝的包裹。和 remove 不一樣的是,remove 只是刪掉數據和可執行文件,purge 另外還刪除全部的配製文件。
六、dpkg -L <package>
列出 <package> 安裝的全部文件清單。同時請看 dpkg -c 來檢查一個 .deb 文件的內容。
七、dpkg -s <package>
顯示已安裝包裹的信息。同時請看 apt-cache 顯示 Debian 存檔中的包裹信息,以及 dpkg -I 來顯示從一個 .deb 文件中提取的包裹信息。
八、dpkg-reconfigure <package>
從新配製一個已經安裝的包裹,若是它使用的是 debconf (debconf 爲包裹安裝提供了一個統一的配製界面)。
二11、查看linux機器當前運行狀態( cpu、內存以及進程的運行狀況)
top
二12、查看端口使用狀況:
netstat -apn 查看全部端口使用狀況
netstat -apn|grep 8080 查看8080端口使用狀況
AIX系統查看端口被佔用的進程,並KILL之
1. netstat -apn|grep <portnumber>
找到該端口鏈接對應的PCB/ADDR和鏈接的協議類型。
注:PCB ----Protocol Control Block
2. 若是是tcp鏈接,則rmsock <PCB/ADDR> tcpcb
若是是udp鏈接,則rmsock <PCB/ADDR> inpcb
下面咱們以telnet服務所使用的23號端口爲例,說明該方法:
#netstat -apn|grep 23
f1000200019ce398 tcp 0 0 *.23 *.* LISTEN
能夠看到PCB/ADDR爲f1000200019ce398,且協議類型爲tcp。
#rmsock f1000200019ce398 tcpcb
The socket 0x19ce008 is being held by proccess 185006 (inetd).
命令報告該端口正在被inetd進程使用,PID爲185006。
注意:rmsock命令須要root權限執行。
二十3、redhat搜索替換文件
sed -i "s/oldstring/newstring/g" `grep "oldstring" -rl path`
二十4、LINUX掛載新硬盤
1.查看當前機器可識別的硬盤
#fdisk -l
2.掛載硬盤,先在/目錄下mkdir datafile
#mount /dev/sde1 /datafile
3.查看掛載是否成功:
#df -h
4.卸載掛載
#umount /datafile
二十5、將sh腳本執行結果輸出到log文件中
將一個腳本的執行過程及執行結果打印到日誌的經常使用命令:
#./test.sh 2>&1 | tee /oracle/mylog.log
二十6、linux使用鍵盤右ctrl+鼠標左鍵切換桌面
二十7、用ssh命令root用戶登錄遠程ip
ssh -l root ip
二十8、設置外網訪問內網IP
若是客戶端和服務端的大網是同一個網段,客戶端加一條訪問小網的路由指向服務器: route add -host 小網IP gw 大網IP
服務端開啓一下linux內核包轉發 (臨時,重啓網絡服務後失效)echo 1 > /proc/sys/net/ipv4/ip_forward (若是永久開啓sed -i s/^net.ipv4.ip_forward.*/net.ipv4.ip_forward=1/g /etc/sysctl.conf
;sysctl –p)
二十9、查看線程狀況
ps -mp 17956946 -o THREAD>>/tmp/thread_cpu7.txt
三10、遠程關閉linux機器
#>bash
#>init 0
三11、
殺掉vncserver
vncserver -kill :1
重啓
vncserver
vncpasswd 修改vnc密碼
32.ubuntu快速打開終端命令窗口:
ctrl+alt+T
33.登錄另一臺linux
ssh -l root 10.63.212.52
34.修改linux網關:
/etc/sysconfig/network-scripts裏面的ifcfg-eth0裏面
假如你是一塊網卡的說
而後VI編輯
DEVICE="eth0" 設備名稱
HWADDR="00:24:1D:8A:3D:F7" 物理地址
ONBOOT="yes" 是否啓動
BOOTPROTO="static" 靜態IP 能夠選擇 dhcp
BROADCAST="124.192.245.255" 廣播- -!
NETWORY="124.192.245.0" 網段- -!
IPADDR="124.192.245.220" IP地址
NETMASK="255.255.255.0" 子網
GATEWAY="124.192.245.1" 你要找的網關 - -!
DNS1="202.106.196.115" 個人是centos 6 能夠在 這裏面設置dns
35.ln命令:
參考:http://www.2cto.com/os/201212/176660.html
36.locate命令linux查找文件所在目錄