一级女人毛片人一女人-一级女性大黄生活片免费-一级女性全黄久久生活片-一级女性全黄生活片免费-国产美女在线一区二区三区-国产美女在线观看

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

linux 小技巧

發布時間:  2012/8/13 18:01:15

前言:因為用Linux的時間越來越長,所需要做的事也越來越多,效率成了我必需突破的瓶頸。在此總結一下這段時間用過的一些好的Linux技巧。以后時常補充這樣自己要用的時候就很方便了。
Author:Ajian
[文本處理]
1、查看某文件的一部分
如果你只想看文件的前 5 行,可以使用 head 命令,
如:head -5 /etc/passwd
如果你想查看文件的后 10 行,可以使用 tail 命令,
如:tail -10 /etc/passwd
查看文件中間一段,可以使用 sed 命令
如:sed –n '5,10p' /etc/passwd 這樣你就可以只查看文件的第 5 行到第 10 行

2、將 file.txt 里的123改為 456
方法 1
sed 's/123/456/g' file.txt > file.txt.new   修改的保存到其它文件
sed -i 's/123/456/g' file.txt 直接修改原文件
方法 2
vi file.txt
輸入命令:
:%s/123/456/g
注意:如果替換的文件有特殊符號如/就要用\來取消。
例:sed -i 's/\/usr\/local\/apache2\/htdocs/\/var\/www\/html/g' /usr/local/apache2/conf/httpd.conf
如果只是下原有的行后添加就用&
例:sed -i 's/DirectoryIndex index.html index.html.var/& index.htm index.php /g' /usr/local/apache2/conf/httpd.conf
3、echo 典型應用
echo "abcdefg" | perl -lne '{$a = reverse($_); print $a;}' 把一個字符串翻轉
echo bottle|rev 把一個字符串翻轉

[文件目錄管理]
1、刪除幾天以前的所有東西(包括目錄名和目錄中的文件)
1) find . -ctime +3 -exec rm -rf {} \;
2) find ./ -mtime +3 -print|xargs rm -f –r

2、在多級目錄中查找某個文件的方法
1) find /dir -name filename.ext
2) du -a | grep filename.ext
3) locate filename.ext

3、刪除軟硬連接注意點
刪除軟件連接的時候一定要記得不要在刪除的文件夾后加一斜杠,
rm -f filename/  
會說這是一個文件夾不能刪除
rm filename
會提示說是否要刪除這個連接。
如果用的第一種可能會把其它文件都刪除

4、刪除目錄中含輸入關鍵字的文件
find /mnt/ebook/ -type f -exec grep "在此輸入關鍵字" {} \; -print -exec rm {} \;

5、在當前目錄下解壓 rpm 文件
cat kernel-ntfs-2.4.20-8.i686.rpm | rpm2cpio | pax –r

6、用命令清空 Root 回收站中的文件
cd /var/.Trash-root
rm -rf *

[系統與安全]
1、讓用戶的密碼必須有一定的長度,并且符合復雜度
vi /etc/login.defs,修改 PASS_MIN_LEN

2、用 dat 查詢昨天的日期
date --date='yesterday'

3、修改系統時
1) 設置你的時區: timeconfig 里選擇Asia/Shanghai (如果你位于 GMT+8 中國區域)
2) 與標準時間服務器校準: ntpdate time.nist.gov
date -s “2003-04-14 cst”,cst 指時區,時間設定用 date -s 18:10
修改后執行 clock -w 寫到 CMOS
3) 將當前軟件系統時間寫入硬件時鐘: hwclock –systohc

4、改變 redhat 的系統語言/字符集
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US",xwindow會顯示英文界面,
LANG="zh_CN.GB18030",xwindow會顯示中文界面。
還有一種方法
cp /etc/sysconfig/i18n $HOME/.i18n
vi $HOME/.i18n 文件,如
LANG="en_US",xwindow會顯示英文界面,
LANG="zh_CN.GB18030",xwindow會顯示中文界面。
這樣就可以改變個人的界面語言,而不影響別的用戶

5、查看系統信息
cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat /proc/interrupts - 中斷
cat /proc/ioports - 設備 IO端口
cat /proc/meminfo - 內存信息(i.e. mem used, free, swap size)
cat /proc/partitions - 所有設備的所有分區
cat /proc/pci - PCI設備的信息
cat /proc/swaps - 所有 Swap 分區的信息
cat /proc/version - Linux 的版本號 相當于 uname -r
uname -a - 看系統內核等信息

6、讓 linux自動同步時間
vi /etc/crontab
加上一句:
00 0 1 * * root rdate -s time.nist.gov

7、如何防止某個關鍵文件被修改
在 Linux 下,有些配置文件是不允許任何人(包括 root)修改的。為了防止被誤刪除或修改
可以設定該文件的“不可修改位(immutable) ”。命令如下:
# chattr +i /etc/fstab
如果需要修改文件則采用下面的命令:
# chattr -i /etc/fstab
[管理與網絡]
1、 lsof 用法小全
lsof abc.txt 顯示開啟文件 abc.txt 的進程
lsof -i :22 知道 22 端口現在運行什么程序
lsof -c nsd 顯示 nsd 進程現在打開的文件
lsof -g gid 顯示歸屬 gid 的進程情況
lsof +d /usr/local/ 顯示目錄下被進程開啟的文件
lsof +D /usr/local/ 同上,但是會搜索目錄下的目錄,時間較長
lsof -d 4   顯示使用 fd 為4 的進程
lsof -i [i] 用以顯示符合條件的進程情況
語法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4 位置
service --> /etc/service中的 service name (可以不止一個)
port --> 端口號(可以不止一個)
例子: TCP:25 - TCP and port 25
@1.2.3.4 - Internet IPv4 host address 1.2.3.4
tcp@ohaha.ks.edu.tw:ftp - TCP protocol host:ohaha.ks.edu.tw service name:ftp
lsof -n 不將 IP轉換為 hostname,預設是不加上-n參數
例子: lsof -i tcp@ohaha.ks.edu.tw:ftp -n
lsof -p 12    看進程號為 12的進程打開了哪些文件

2、grep 不顯示本身進程
#ps -aux|grep httpd|grep -v grep
grep -v grep可以取消顯示你所執行的 grep 本身這個進程,-v 參數是不顯示所列出的進程名

3、查看本機IP
ifconfig |grep "inet" |cut -c 0-36|sed -e 's/[a-zA-Z: ]//g'
hostname –i

4、查看有多少活動的Httpd進程
#!/bin/sh
while (true)
do
pstree |grep "*\[httpd\]$"|sed 's/.*-\([0-9][0-9]*\)\*\[httpd\]$/\1/'
sleep 3
done
同樣可以引用到其它的進程

5、設置 com1口,讓超級終端通過 com1口進行登錄
第一步:確認有/sbin/agetty,編輯/etc/inittab,添加
7:2345:respawn:/sbin/agetty /dev/ttyS0 9600
9600bps 是因為連路由器時缺省一般都是這種速率,也可以設成
19200、38400、57600、115200
第二步:修改/etc/securetty,添加一行:ttyS0,確保 root 用戶能登錄
第三步:重啟機器,就可以拔掉鼠標鍵盤顯示器(啟動時最好還是要看看輸出信息)了

6、查找或刪除正在使用某文件的進程
fuser filename
fuser -k filename

7、已知網絡中一個機器的硬件地址,如何知道它所對應的 IP地址
在 Linux 下,假定要查“00:0A:EB:27:17:B9”這樣一個硬件地址所對應的 IP 地址,可以使
用以下命令:
# cat /proc/net/arp |grep 00:0A:EB:27:17:B9
192.168.2.54 0x1 0x6 00:0A:EB:27:17:B9 *eth2
另外,還可以用“arp -a”命令查詢:
# arp –a|grep 00:0A:EB:27:17:B9
(192.168.2.54)at 00:0A:EB:27:17:B9[ether] on eth2

8、在 Linux下如何綁定 IP地址和硬件地址
可以編輯一個地址對應文件,里面記錄了 IP地址和硬件地址的對應關系,然后執行“arp –
f 地址對應文件”。如果沒有指定地址對應文件,則通常情況下一默認文件/etc/ethers為準。
地址對應文件的格式如下:
192.168.0.1 00:0D:61:27:58:93
192.168.0.2 00:40:F4:2A:2E:5C
192.168.0.3 00:0A:EB:5E:BA:8E

9、更改 eth0是否混雜模式(混雜模式可以監聽其它主機的信息)
網卡 eth0 改成混雜模式:
ifconfig eth0 promisc
關閉混雜模式:
ifconfig eth0 –promisc

10、linux下清空 arp表的命令
#arp -d -a(適用于 bsd)
for HOST in `arp | sed '/Address/d' | awk '{ print $1}'` ; do arp -d $HOST; done

11、如何得到網卡的 MAC地址
arp -a | awk '{print $4}'
ifconfig eth0 | head -1 | awk '{print $5}'

12、一個網卡綁定多 ip
方法一、建立eth0:1在網卡后加冒號和數字的文件
cp /etc/sysconfig/network-scripts/eth0 /etc/sysconfig/network-scripts/eth0:1
再修改下eth0:1就可以了.
方法二、
在/etc/sysconfig/network-scripts/下創建一個文件:ifcfg-ethX-rangeX ("X"為網卡號)
文件內容:
IPADDR_START=<start ip>
IPADDR_END=<end ip>
CLONENUM=0
可以有 256個 ip

13、一個 ip如何綁定兩塊網卡
假設 192.168.0.88 是ip,192.168.0.1 是網關:
/sbin/modprobe bonding miimon=100 mode=1
/sbin/ifdown eth0
/sbin/ifdown eth1
/sbin/ifconfig bond0 192.168.0.88
/sbin/ifenslave bond0 eth0 eth1
/sbin/route add default gw 192.168.0.1

14、設置ssh 上來能不自動斷線
修改自己 HOME 目錄下的.bash_profile文件,加上
export TMOUT=1000000 (以秒為單位)
然后運行 source .bash_profile

15、mount 局域網上其他windows機器共享出的目錄
mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

16、向登陸到同一臺服務器上的所有用戶發一條信息
1)輸入 wall并回車
2)輸入要發送的消息
3)結束時按“Control-d”鍵,消息即在用戶的控制窗口中顯示

17、向遠程機器上的所有用戶發送消息
使用 rwall(向所有人遠程寫)命令同時發送消息到網絡中的所有用戶。
rwall hostname file
當使用 CDE或 OpenWindows 等窗口系統時,每個窗口被看成是一次單個的登錄;
如果用戶登錄次數超過一次則消息直接發送到控制窗口
18、向網絡中的所有用戶發送消息
發送消息到網絡中的所有用戶
1)輸入 rwall -n netgroup 并回車
2)輸入要發送的消息
3)結束時按“Control-d”鍵,消息即在系統每個用戶的控制窗口中顯示,下面是系統管理員
發消息到網絡組 Eng 每個用戶的例子:
% rwall -n EngSystem will be rebooted at 11:00.(Control-d)
%
用戶控制窗口中的消息:Broadcast message from root on console…System will be rebooted at
11:00.EOF
注意:也可以通過 rwall hostname(主機名)命令到系統的所有用戶

19、 將 top的結果輸出到文件中
top -d 2 -n 3 -b >test.txt
可以把 top 的結果每隔 2秒,打印 3次,這樣后面頁的進程也能夠看見了

20、裝雙系統不能看到另一個系統的解決辦法
首先光盤啟動,進入 rescue 模式,運行 GRUB,進入 grub 提示符 grub>,然后敲入下面的
語句,重啟就好了。
root (hd0,2),setup (hd0)

21、壓縮傳輸文件或目錄
傳輸到遠程:tar czf - www | ssh server "tar zxf -"
壓縮到遠程:tar czf - www | ssh server "cat > www.tar.gz"
解壓到遠程:ssh server "tar zxf -" < www.tar.gz
解壓到本地:ssh server "cat www.tar.gz" | tar zxf -

22、命令行下發送帶附件的郵件
方法 1.      uuencode <in_file> <remote_file> | mail -s "title" mail@address
<in_file> 本地需要作為附件的文件名。
<remote_file> 郵件中的附件文件名,可以和<in_file>不同,其實內容一樣。
方法 2.       cat <mailcontent.txt> | mutt -s "title" -a <attachfile> mail@address
<mailcontent.txt>郵件正文內容。
<attachfile>本地需要作為附件的文件名。
[Mysql維護]
1、mysql 的數據庫存放在什么地方
1) 如果使用 rpm包安裝,應該在/var/lib/mysql 目錄下,以數據庫名為目錄名
2) 如果源碼安裝在/usr/local/mysql中,應該在/usr/local/mysql/var中,以數據庫名為目錄名
2、 從 mysql 中導出和導入數據
導出數據庫
mysqldump 數據庫名 > 文件名
導入數據庫
mysqladmin create 數據庫名
mysql 數據庫名 < 文件名

3、忘了 mysql 的 root 口令怎么辦
# service mysql stop
# mysqld_safe --skip-grant-tables &
# mysqladmin -u user password 'newpassword''
# mysqladmin flush-privileges

4、 mysqld 起來了,卻無法登錄,提示"/var/lib/mysql/mysql.sock"不存在
這種情況大多數是因為你的 mysql 是使用 rpm 方式安裝的,它會自動尋找
/var/lib/mysql/mysql.sock 這個文件,
通過 unix socket 登錄 mysql。
常見解決辦法如下:
1)創建/修改文件 /etc/my.cnf,至少增加/修改一行
[mysql]
[client]
socket = /tmp/mysql.sock
#在這里寫上你的 mysql.sock 的正確位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下
2)指定 IP地址,使用 tcp 方式連接mysql,而不使用本地 sock 方式
#mysql -h127.0.0.1 -uuser -ppassword
3)為 mysql.sock 加個連接,比如說實際的 mysql.sock 在 /tmp/ 下,則
# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock即可

5、 導出數據的幾種常用方法
1)使用 mysqldump
#mysqldump -uuser -ppassword -B database --tables table1 --tables table2 >
dump_data_20051206.sql
詳細的參數
2)backup to語法
mysql>BACKUP TABLE tbl_name[,tbl_name...] TO '/path/to/backup/directory';
詳細請查看 mysql 手冊
3)mysqlhotcopy
#mysqlhotcopy db_name [/path/to/new_directory]

#mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory

#mysqlhotcopy db_name./regex/
詳細請查看 mysql 手冊
4)select into outfile
詳細請查看 mysql 手冊
5)客戶端命令行
#mysql -uuser -ppassword -e "sql statements" database > result.txt
以上各種方法中,以 mysqldump 最常用

6、 如何在命令行上執行 sql 語句
#mysql -uuser -ppassword -e "sql statements" database

7、 導入備份出來文件的常見方法
1)由 mysqldump 出來的文件
#mysql -uuser -ppassword [database] < dump.sql
2)文件類型同上,使用 source 語法
mysql>source /path_to_file/dump.sql;
3)按照一定格式存儲的文本文件或 csv 等文件
#mysqlimport [options] database file1 [file2....]
詳細請查看 mysql 手冊
4)文件類型同上,也可以使用 load data 語法導入
詳細請查看 mysql 手冊
一、Solaris修改主機名

1. 編輯/etc/hosts

2. 編輯/etc/hostname.網卡名

3. 編輯/etc/nodename

4. 編輯/etc/net/ticots/hosts

5. 編輯/etc/net/ticosord/hosts

6. 編輯/etc/net/ticlts/hosts

二、網卡配置方法

1.查看網卡是否已經安裝

# ls /dev |grep “網卡名”

2.配置網卡接口名稱

# vi /etc/hostname.網卡名

Myethernet

3.配置子網掩碼

# vi /etc/inet/netmasks

192.168.0.0    255.255.255.0

4.配置網卡接口地址

# vi /etc/inet/hosts

127.0.0.1 localhost

192.168.0.100 Myethernet

5.統一配置文件

# vi /etc/inet/ipnodes

::localhost

127.0.0.1 localhost

192.168.0.105 Myethernet     loghost

三、修改主機名

1.編輯/etc/hosts

2.編輯/etc/hostname.bge0

3.編輯/etc/nodename

4.編輯/etc/net/ticots/hosts

5.編輯/etc/net/ticotsord/hosts

6.編輯/etc/net/ticlts/hosts

四、建立、取消網卡邏輯IP

1.建立

# ifconfig e1000g0:1 plumb up

# ifconfig e1000g0:1 10.0.0.1 netmask 255.255.255.0 up

2.取消

# ifconfig e10000:1 unplumb

3.永久性生效,需要修改/etc/hosts、/etc/hostname.e1000g0:1、/etc/inet/ipnodes 文件。

五、SOLARIS運行級別

0 進入OK狀態 (需要SUN的PROM芯片支持)

1 管理狀態 (單用戶模式,禁止其他用戶登陸)

2 多用戶模式 (沒有網絡文件共享服務)

3 多用戶模式 (有網絡文件共享服務)

4 保留,未使用

5 退出操作系統并關機

6 重啟

S,s 單用戶模式

六、磁盤命名

邏輯設備:在/dev/目錄下的設備名

物理設備:在/device/目錄下的設備名

說明:邏輯設備通常容易被我們區分,而物理設備由KERNEL直接去識別,所以比較難理解。一般我們去記某一設備的邏輯設備名就可以了。

Sun使用下列命名方式定義邏輯設備名

/dev/[r]dsk/cXtXdXsX

         c:邏輯控制器號 

         t:物理總線目標號

         d:磁盤式邏輯單元號(LUN SCSI設備為0)

         s:分區號

七、文字模式與WINDOWS模式的開關命令

# /usr/dt/bin/dtconfig –[de]

-d disable

-e enable

八、顯示完全程序名的ps命令

/usr/ucb/ps –auxwww

相當于linux下ps –ef –cols

九、Solaris - ping命令查看主機IP地址

ping命令加上-a或-s即可查看主機IP地址:
#ping -a hostname
or
#ping -s hostname

十、ls命令的幾個技巧

按時修改間(modification time)排序:ls -t, ls -lt, ls -1t, ls -Ct

按訪問時間(access time)排序:ls -u

按文件大小排序:ls -lS

顯示所有文件,除了.及..:ls -A

十一、刪除“-”開頭的文件

對于文件名中含-的文件,rm命令容易認為這是命令選項,用rm *報:

rm: ERROR: Illegal option -- c

usage: rm [-fiRr] file...

刪除的方法:

1 rm ./-filename 這樣使-不是第一個字符。

2.rm -- -filename 用--告訴rm這是最后一個選項,參見getopt。有的系統用

rm - -filename

3.ls -i 列出inum ;用find . -inum inum_of_thisfile -exec rm '{}' \;

用這種方法可以刪除含特殊字符的文件。

十二、>重定向

1.你也可以輸出重定向到一個設備里,因為linux把所有設備都看成文件

比如,當多用戶登錄是,A用戶使用的是pts/0終端

你可以用這種方式和他聊天

echo "hi" > /dev/pts/0

不過這種方法很流氓,而且需要你對這個設備有寫權

2.新建文件

>aaa         新建文件aaa

>-aaa        新建文件-aaa

3.清空文件

>aaa

linux技巧

++實現RedHat非正常關機的自動磁盤修復
先登錄到服務器,然后在/etc/sysconfig里增加一個文件autofsck,內容如下:
AUTOFSCK_DEF_CHECK=yes
PROMPT=yes

++改變文件或目錄之最后修改時間(變為當前時間)
執行格式:touch name ( name 可為文件或目錄名稱。)

++如何設置login后歡迎信息
修改/etc/motd,往里面寫入文本即可。

++如何設置login前歡迎界面
修改/etc/issue或者issue.net,往里面寫入文本。
issue的內容是出現在本機登錄的用戶界面上,而issue.net則是在用戶通過網絡telnet的時候出現。

++如何修改網卡MAC地址
首先必須關閉網卡設備,否則會報告系統忙,無法更改。
命令是: /sbin/ifconfig eth0 down
修改 MAC 地址,這一步較 Windows 中的修改要簡單。
命令是:/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
重新啟用網卡 /sbin/ifconfig eht0 up
網卡的 MAC 地址更改就完成了

++建立別名/刪除別名
alias cp='cp -i'
unalias cp

++如何知道某個命令使用了什么庫文件
例如要知道ls使用了什么庫文件,可以使用:
$ ldd /bin/ls

++如何使一個用戶進程在用戶退出系統后仍然運行
使用nohup command &,比如:nohup wget -c ftp://test.com/test.iso
#這樣即使用戶退出系統,wget進程仍然繼續運行直到test.iso下載完成為止

++如何限制用戶的最小密碼長度
修改/etc/login.defs里面的PASS_MIN_LEN的值。比如限制用戶最小密碼長度是8:
PASS_MIN_LEN 8

++如何取消root命令歷史記錄以增加安全性
為了設置系統不記錄每個人執行過的命令,就在/etc/profile里設置:
HISTFILESIZE=0
HISTSIZE=0
或者:
ln -s /dev/null ~/.bash_history

++如何測試硬盤性能
使用hdparm -t -T /dev/hdX就可以測試硬盤的buffer-cache reads和buffered disk reads兩個數據,可以用來當作硬盤性能的參考。
同時使用hdparm -c3 /dev/hdaX還能設置硬盤以32bit傳輸,以加快數據傳輸的速度。

++如何列出一個目錄占用的空間
du或du -s或du -k
du -S | sort -n 可以迅速發現那個目錄是最大的。
用df可以看到已安裝的文件系統的空間大小及剩余空間大小。
quota -v查看用戶的磁盤空間信息,如果你用quota限制了用戶空間大小的話。

++如何使新用戶首次登陸后強制修改密碼
#useradd -p ‘’ testuser; chage -d 0 testuser

++在Linux中有時開機不自動檢查新硬件,新安裝的網卡找不到。請問怎么解決?
答:自動檢查新硬件的服務是Kudzu,用戶可以用“ntsysv”命令啟動該服務。下次重啟就會找到用戶的新網卡。

++從臺灣省的一個 網站找到的,如何讓系統密碼和samba密碼一致,并可以讓用戶自行修改他們的密碼.
使用web界面來同步更改system passwd 及 samba password
下載 http://changepassword.sourceforge.net/
安裝就可以了.先看README哈.
附加:
將系統用戶批量倒成samba用戶.
less /etc/passwd | mksmbpasswd.sh >; /etc/samba/smbpasswd

++更改Linux啟動時用圖形界面還是字符界面
cd /etc
vi inittab
將id:5:initdefault: 其中5表示默認圖形界面
改id:3: initdefault: 3表示字符界面

++配置smb可以被哪些IP所用.
cd /etc/samba
Vi smb.conf
找到hosts allow = 192.168.1. 192.168.2. 127.
修改其為哪些機器所用,注意IP之間用逗號分開
舉例:
hosts allow =192.168.1.110,192.168.1.120

++禁止在后臺使用CTRL-ALT-DELETE重起機器
cd /etc/inittab
vi inittab 在文件找到下面一行
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now (注釋掉這一行)
如: # Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

++修改主機名
vi /etc/sysconfig/network
修改HOSTNAME一行為HOSTNAME=主機名

++查看開機檢測的硬件
dmesg | more

++查看硬盤使用情況
df –m

++查看目錄的大小
du –sh dirname

++解壓小全
tar xvfj lichuanhua.tar.bz2
tar xvfz lichuanhua.tar.gz
tar xvfz lichuanhua.tgz
tar xvf lichuanhua.tar
unzip lichuanhua.zip
注:壓縮 tar cvfz FileName.tar.gz DirName

++顯示內存使用情況
free –m

++顯示系統運行了多長時間
uptime

++顯示開機自檢的內容命令
dmesg

++端口的詳細列表
/etc/services

++查看物理信息
lspci

++文本截面的中文支持
RH 9.0自帶安裝包 zhcon_0.2.3_1.rh9.i386.rpm
安裝完成后,執行: zhcon 就可以支持中文了

++linux 控制 windows
(1)用RH9.0自己帶rdesktop,版本是1.2.0
命令:rdesktop –u user –f 192.168.1.70 色默認的是8位
(2)要達到16色,就要下載新版本1.3.0
rdesktop –a 16 –u lichuanhua –g 800*600 192.168.1.70

++不讓顯示器休眠
setterm –blank 0

++顯示最后一個登錄到系統的用戶
last

++查看所有帳號的最后登錄時間
lastlog /var/log/lastlog

++查看系統自開通以來所有用戶的登錄時間和地點
cat /var/log/secure

++顯示當前用戶所屬信息
id

++如何知道Apache的連接數目
ps -ef|grep httpd|wc -l #其它服務可以類推
netstat -nat|grep -i “80″|wc -l # 以上結果再減1吧

++刪除用戶帳號的同時,把用戶的主目錄也一起刪除
userdel -r 用戶名

++修改已有用戶的信息
usermod [參數] 用戶名
參數: -c, -d, -m, -g, -G, -s, -u以及-o與adduser參數意義相同
新參數: -l 新用戶名(指定一個新的賬號,即將原來的用戶名改為新的用戶名)

++改變redhat的系統語言/字符集
改 /etc/sysconfig/i18n 文件,如
LANG=”en_US”,xwindow會顯示英文界面,
LANG=”zh_CN.GB18030″,xwindow會顯示中文界面。
還有一種方法
cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG=”en_US”,xwindow會顯示英文界面,
LANG=”zh_CN.GB18030″,xwindow會顯示中文界面。
這樣就可以改變個人的界面語言,而不影響別的用戶
vi .bashrc
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312

++cd光盤做成iso文件
cp /dev/cdrom xxxx.iso

++快速觀看開機的硬件檢測
dmesg | more

++查看硬盤的使用情況
df -k 以K為單位顯示
df -h 以人性化單位顯示,可以是b,k,m,g,t..

++查看目錄的大小
du -sh dirname
-s 僅顯示總計
-h 以K、M、G為單位,提高信息的可讀性。KB、MB、GB是以1024為換算單 位, -H以1000為換算單位。

++查找或刪除正在使用某文件的進程
fuser filename
fuser -k filename

++linux中讓用戶的密碼必須有一定的長度,并且符合復雜度
vi /etc/login.defs,改PASS_MIN_LEN

++以不同的用戶身份運行程序
su - username -c “/path/to/command”
有時候需要運行特殊身份的程序, 就可以讓su來做

++ adduser m -g cvsroot -s /bin/false
添加用戶m,參數-s /bin/false表示不允許用戶直接登錄服務器
id m
顯示m用戶的uid和gid號。

++ 強制卸載rpm包
rpm -e –nodeps 包名稱
#個別不正常情況下:
rm -f /var/lib/rpm/__*
rpm –rebuilddb

++拒絕除root用戶的其它用戶登陸
touch /etc/nologin
也可以在/etc/passwd中加!對指定用戶限制登陸

++檢查自己所屬之群組名稱
執行格式:groups

++修改文件/文件夾所屬用戶組(支持-R)
chown .組名 文件名(注:組名名勿忘”.”,“:”也可)
也可chgrp 組名 文件名
chown 用戶名.組名 文件名(同時修改所屬用戶及用戶組)

++用fuser命令查看一下是哪些進程使用這個分區上的文件:
fuser –v –m /usr
如果沒有什么重要的進程,用以下命令停掉它們:
fuser -k –v –m /usr
然后就可以重新掛載這些文件系統了。

++網絡喚醒主機
ether-wake 目標網卡MAC

++如何查找大小為500K到1000K之間的文件
find / -type f -size +500k -and -size -1000k

++讓主機不響應ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
若想恢復就用
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
#必須是用命令改,不能是vi修改

++自動注銷ROOT
編輯你的配置文件”vi /etc/profile”,在"HISTSIZE="后面加入下面這行:
TMOUT=300
#300,表示300秒

++ls只列出目錄
ls -lF | grep ^d
ls -lF | grep /$
ls -F | grep /$

++讓cron任務不回饋信息
* * * * * cmd > /dev/null 2>&1

++lsof(list open files)用法
lsof -i :xx
lsof abc.txt 顯示開啟文件abc.txt的進程
lsof -i :22 知道22端口現在運行什么程序
lsof -c nsd 顯示nsd進程現在打開的文件
lsof -g gid 顯示歸屬gid的進程情況

++改變sshd 的端口
在/etc/ssh/sshd_config 中加入一行:Port 2222,/etc/init.d/sshd restart 重啟守護進程

++防止任何人使用su 命令成為root
vi /etc/pam.d/su,在開頭添加下面兩行:
auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/Pam_wheel.so group=wheel
然后把用戶添加到“wheel”組:chmod -G10 username

++如何讓ssh 只允許指定的用戶登錄
方法1:在/etc/pam.d/sshd 文件中加入
auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail
然后在/etc 下建立sshusers 文件,加入允許使用ssh 服務的用戶名(每一個用戶名都要單獨一行),重新起動sshd

++利用ssh 復制文件
1、從A 復制B(推過去)   #scp -rp /path/filename username@remoteIP:/path
2、從B 復制到A(拉過來)#scp -rp username@remoteIP:/path/filename /path

++linux機器掛載windows上的共享文件
windows IP:192.168.1.1
mount -t smbfs -o username=massky,password=massky //192.168.1.1/dbf /mnt/share
如想機器重啟自動掛載,vi /etc/fstab最后加入:
//192.168.1.1/dbf /mnt/share smbfs defaults,auto,username=massky,password=massky 0 0

++定制linux 提示符
在bash 中提示符是通過一個環境變量$PS1 指定的。用export $PS1 查看現在的值,比較直
觀常用的提示符可以設定為export PS1=“[\u@\h \W]\$”。其中\u 代表用戶名,\h 代表主機
名,\W 代表當前工作目錄的最后一層,如果是普通用戶\$則顯示$,root 用戶顯示#。

++清空文件
[echo] > 文件名

++DNS相關
host -a domain.com #顯示相關資訊都列出來
host domain.com 202.106.0.20 #用202.106.0.20這臺DNS服務器查詢domain.com

++前后臺任務相關
jobs 列出屬于當前用戶的進程
bg 將進程搬到后臺運行(Background)
fg 將進程搬到前臺運行(Foreground)
萬一你運行程序時忘記使用“&”了,又不想重新執行。可以先使用ctrl+z掛起程序,然后敲入bg命令,這樣程序就在后臺繼續運行了。

++查找當前目錄下七天前的文件,并刪除
find ./ -mtime +7 -type f -exec rm {} \;

++產生指定大小的文件(bs*count)
dd if=/dev/zero of=filename bs=1000000 count=10

++查找當前目錄下文件并更改擴展名
更改所有.ss文件為.aa
# find ./ -name "*.ss" -exec rename .ss .aa '{}' \;

++修改系統時間
date -s "2005-6-4 17:26"

++讓服務器自動同步時間
0 1 * * * /usr/sbin/ntpdate 210.72.145.44
或 0 1 * * * rdate -s time.nist.gov

++解決打開文件過多的問題
在etc/security/limits.conf 配置文件中設置進程文件描述符極限:
* soft nofile 2048
* hard nofile 4096
系統級文件描述符極限及timeout時間修改,添加如下兩行到 /etc/rc.d/rc.local 啟動腳本中:
# Increase system-wide file descriptor limit.
echo 65536 > /proc/sys/fs/file-max
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
#一般情況下,最大打開文件數比較合理的設置為每4M物理內存256,比如1G內存可以設為65536,
#而最大的使用的i節點的數目應該是最大打開文件數目的3倍到4倍

++如何用tar打包一個目錄時,去掉其中的某些子目錄或指定文件
加參數 –exclude 即可, 可加文件名或目錄名, 可多寫
tar cvf –exclude {dirname,filename} #dirname不要加/

++終端下修改服務器時區
/usr/sbin/timeconfig
或直接#/etc/sysconfig/clock

++關閉啟動時的內存不足256M提示
#vi /etc/rc.sysinit #把最后六行注釋掉
或#vi /var/lib/supportinfo
把其中的 MinRAM: 256M 這個值調低點.

++在多層目錄中查找到某一指定"字符串"
grep string -R /etc/sysconfig/
find ./pathname/ -name '*' | xargs grep 'string'

++占用CPU的一個命令
#yes string #有時候測試用得上。狂占CPU

++Kill相關
kill -STOP [pid]
發送SIGSTOP (17,19,23)停止一個進程,而并不消滅這個進程。
kill -CONT [pid]
發送SIGCONT (19,18,25)重新開始一個停止的進程。
kill -KILL [pid]
發送SIGKILL (9)強迫進程立即停止,并且不實施清理操作。
kill -9 -1
終止你擁有的全部進程。

++在當前目錄下建個bak目錄,然后 cp * bak,會提示略過bak,有其它辦法可以排除指定文件(夾)?
ls -F|grep -v \/|xargs -i cp {} bak #推薦
或 find ! -name "./bak"

++ 根據進程名顯示進程號
# pidof httpd
1846 1845 1844 1843 1842 1841 1840 1839 1820

++e2fsck
檢查使用 Linux ext2 檔案系統的 partition 是否正常工作, 檢查 /dev/hda5 是否正常,如果有異常便自動修復,并且設定若有問答,均回答[是] :
e2fsck -a -y /dev/hda5

++反向輸出
rev 反向輸出(以行為單位)
tac 反向輸出(全文)

++顯示終端號
tty

++文件行數/字數統計
wc –l file   計算文件行數
wc -w file 計算文件中的單詞數
wc -c file   計算文件中的字符數

++出每行第5個到第9個字符
cut -b5-9 file.txt

++刪除文本文件中出現的行列
uniq

++返回文件所在路徑
dirname /bin/tux #將返回 /bin

++fcitx在英文環境下正常使用
#vi ~/.bashrc
xport LC_CTYPE="zh_CN.UTF-8"
export XMODIFIERS="@im=fcitx"
export XIM=fcitx
export XIM_PROGRAM=fcitx
#gnome-session-properties可以把fctix加入登入后自啟動

++split分割合并文件
split -b1440k a_whopping_big_file chunk #拆
cat chunk* > a_whopping_big_file #合

刪除 core 文件

# find ~ -name core -exec file {} ; -exec rm -i {} ;

查看使用文件的進程

# fuser -u /usr/my_application/foo

搜索字符串

#grep "hello world" `find ./ -name "*" -print -exec file {} ; |grep text | cut -d ':' -f 1`

目錄

#alias dir='ls -Lla|grep ^d'


輸出 IP 地址

#ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print $2;}' | awk -F':' '{print $2;}'

按文件長度排序

#ls -l | grep ^- | sort -nr -k 5 | more

#ls -lR | grep ^- | sort -nr -k 5 | more


二進制文件中的可打印字符

# strings name of binary file

一個月的最后一個星期天執行任務:

18 * * * 0 [`date "+%d"` -gt 24] && /path/to/script


修改擴展名:

# for f in *.abc; do mv $f `basename $f .abc`.def ; done


查看硬盤情況:(Solaris)

# iostat -En


整個目錄樹拷貝:

# cd

# find . -depth -print | cpio -pudm


按長度排序目錄下所有文件

# du -a | sort -n -r | more


檢查文件內每行是否有相同列數

#awk '{print NF}' test.txt |sort -nu|more


去除空行

#sed -e '/^[ ]*$/d' InputFile >OutputFile


查看進程占用的對應文件 inode 號(Solaris)

#/usr/proc/bin/pfiles


刪除指定用戶的所有進程

# kill -9 `ps -fu username |awk '{ print $2 }'|grep -v PID`


Bash 操作快捷鍵:

ctrl-l -- clear screen

ctrl-r -- does a search in the previously given commands so that you don't

have to repeat long command.

ctrl-u -- clears the typing before the hotkey.

ctrl-a -- takes you to the begining of the command you are currently typing.

ctrl-e -- takes you to the end of the command you are currently typing in.

esc-b -- takes you back by one word while typing a command.

ctrl-c -- kills the current command or process.

ctrl-d -- kills the shell.

ctrl-h -- deletes one letter at a time from the command you are typing in.

ctrl-z -- puts the currently running process in background, the process

can be brought back to run state by using fg command.

esc-p -- like ctrl-r lets you search through the previously given commands.

esc-. -- gives the last command you typed.


文件名里的空格替換為下劃線

# for i in $1 ; do mv "$i" `echo $i | sed 's/ /_/g'` ; done


查看遠程主機時間

# telnet remotehostname 13|grep :


只顯示 top 命令的states 行

#while true; do top -d 2 | col -b | grep states; sleep 10; done


加速顯示 tar 文件內容

# tar tvfn


讓 目錄名也能 Spell Check

#shopt -s cdspell

當輸錯命令時,系統會自動進入類似的目錄


查看 Sun 服務器型號

# /usr/platform/`uname -m`/sbin/prtdiag -v | grep `uname -m`


在vi 中一行文字前后添加字符

:/^(.*)/s//我要 1 添加/


查找某包含字符串(Verita)軟件包的詳細信息 (Solaris)

pkginfo -l `pkginfo | grep -i VERITAS | awk '{print $2}'`


億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
   聯系:億恩小凡
   QQ:89317007
   電話:0371-63322206


本文出自:億恩科技【www.laynepeng.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線