一、基本命令
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 &
clear 清屏
啟動程序:
./client.sh
sh xx.sh 運行xx shell腳本
二、賦權限
--chmod變更文件或目錄的權限
chmod 777 install.sh
drwxrwxrwx user group other
chmod -R 755 container 給container及子目錄賦權限。
將文件夾test所有者改為user1及其用戶組。
chown -R user1:other test
--進入root目錄下,授權/root/data文件夾的所有者為datauser
chown -R datauser data
--進入root目錄下,授權/root/data文件夾的所有者為oracle,組為dba
chown -R oracle:dba data
chown -R oracle:oinstall data
./install.sh
ls -l 查看各用戶權限
Linux中切換用戶的命令是su或su -:
u切換成root用戶以后,pwd一下,發現工作目錄仍然是普通用戶的工作目錄;
而用su -命令切換以后,工作目錄變成root的工作目錄了
su -
切換到其他用戶,例如切換到oracle用戶
su - oracle
三、解壓縮
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
四、文本編輯
vi auto_run_param.properties 編輯指定文件
/string 查找 'string'
n 查找下一個
:g/string1/string2/// 將所有的string1 替換成 string2
x刪除
a在后面增加字符。
i插入字符。
:x 退出并保存
:wq 寫,保存退出
:q! 強制退出,不保存
hjkl: 左上下右
五、修改日期(時間)
查看時間:date
修改時間:date mmddHHMMYYYY.SS
六、文件夾操作
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/目錄下
七、顯示修改(輸出到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空間不足。
八、磁盤空間查看。
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.rzrgm.cn/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
重啟命令:
1、reboot
2、shutdown -r now 立刻重啟(root用戶使用)
3、shutdown -r 10 過10分鐘自動重啟(root用戶使用)
4、shutdown -r 20:35 在時間為20:35時候重啟(root用戶使用)
關機命令:
1、halt 立刻關機
2、poweroff 立刻關機
3、shutdown -h now 立刻關機(root用戶使用)
4、shutdown -h 10 10分鐘后自動關機
九、查詢端口上的進程 lsof -i:10021
十、啟動FTP
/etc/init.d/vsftpd start
查看當前oracle實例名:
su - oracle
echo $ORACLE_SID
十一、查看當前字符集
echo $LANG
十二、查找文件
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這個用戶的文件
十三、查看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位的
十五、創建用戶
添加新的用戶賬號使用useradd命令:
useradd 選項 用戶名
其中各選項含義如下:
-c comment 指定一段注釋性描述。
-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
-g 用戶組 指定用戶所屬的用戶組。
-G 用戶組,用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登錄Shell。
-u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。
id <username>
即可查看用戶ID。
修改用戶默認目錄:
usermod -d <新目錄> <用戶名>
十六、刪除賬號
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。
十七、查看ip
ifconfig
十八、shell腳本中過濾windows特殊字符
cat ./test.sh | col -b >./test_new.sh
十九、FTP獲取文件
ftp 10.62.57.50
name:testuser
password:testpwd
ftp>bin
ftp>cd 目錄名
ftp>get *.tar
二十、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 的普通用法:
1、dpkg -i <package.deb>
安裝一個 Debian 軟件包,如你手動下載的文件。
2、dpkg -c <package.deb>
列出 <package.deb> 的內容。
3、dpkg -I <package.deb>
從 <package.deb> 中提取包裹信息。
4、dpkg -r <package>
移除一個已安裝的包裹。
5、dpkg -P <package>
完全清除一個已安裝的包裹。和 remove 不同的是,remove 只是刪掉數據和可執行文件,purge 另外還刪除所有的配制文件。
6、dpkg -L <package>
列出 <package> 安裝的所有文件清單。同時請看 dpkg -c 來檢查一個 .deb 文件的內容。
7、dpkg -s <package>
顯示已安裝包裹的信息。同時請看 apt-cache 顯示 Debian 存檔中的包裹信息,以及 dpkg -I 來顯示從一個 .deb 文件中提取的包裹信息。
8、dpkg-reconfigure <package>
重新配制一個已經安裝的包裹,如果它使用的是 debconf (debconf 為包裹安裝提供了一個統一的配制界面)。
二十一、查看linux機器當前運行狀態( cpu、內存以及進程的運行情況)
top
二十二、查看端口使用情況:
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權限執行。
二十三、redhat搜索替換文件
sed -i "s/oldstring/newstring/g" `grep "oldstring" -rl path`
二十四、LINUX掛載新硬盤
1.查看當前機器可識別的硬盤
#fdisk -l
2.掛載硬盤,先在/目錄下mkdir datafile
#mount /dev/sde1 /datafile
3.查看掛載是否成功:
#df -h
4.卸載掛載
#umount /datafile
二十五、將sh腳本執行結果輸出到log文件中
將一個腳本的執行過程及執行結果打印到日志的常用命令:
#./test.sh 2>&1 | tee /oracle/mylog.log
二十六、linux使用鍵盤右ctrl+鼠標左鍵切換桌面
二十七、用ssh命令root用戶登陸遠程ip
ssh -l root ip
二十八、設置外網訪問內網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)
二十九、查看線程情況
ps -mp 17956946 -o THREAD>>/tmp/thread_cpu7.txt
三十、遠程關閉linux機器
#>bash
#>init 0
三十一、
殺掉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查找文件所在目錄
浙公網安備 33010602011771號