通知 - 網路技術教學文章整理linux<8月6日> - 史萊姆論壇
来源:百度文库 编辑:神马文学网 时间:2024/08/28 09:21:44
[安裝教學]
使用VMWare
多操作系統虛擬機軟體VMware的使用經驗分享和安裝實例
使用VMWare來用Knoppix光碟版linux
[使用技巧]
linux目錄說明
Linux 下ZIP 文件的壓縮、打包與解開
Linux Swap Memory分配小技巧
KNOPPIX-光碟開機(免硬碟繁體中文)-LINUX架構
[網路管理語言]
1.網路管理語言 Perl 準備工作
2.網路管理語言 Perl 的簡介
[管理技巧]
如何一次建立大量帳戶
讓Linux賬號搬家
LINUX怎麼用USB碟
linux 指令操作技巧
LINUX內核昇級
[SERVICE相關]
Linux下的FTP伺服器Wu-Ftpd 引用
架站-IIS基本安裝&使用
[整合系統]
RED HAT 9.0 怎麼安裝WINDOWS的字體啊?
Linux與Windows硬碟資源互訪
區域網路上Linux與Win 98資源共享
用瀏覽器管理linux下的印表機
簡單辦公室無線網路架設(圖文)
[軟體應用]
網路電話
RealPlayer/TeamSpeak 2 FOR Linux
[一般Q&A]
重大硬體變更需要重灌系統嗎?
怎麼刪除linux的開機檔啊
請問一下~~要裝linux的硬體需求?!
關於linux認證
Redhat & Mandrade Linux 有什麼差異?
如何有效學習電腦
from site : http://forum.slime.com.tw/thread119819.html
有時需要讓Linux帳號搬家,其方法如下:
1、保證將要加入系統的新帳號放在新的位置上,這通過修改/etc/default/useradd文件中的HOME 值來實現。
如:HOME=/home2 使新增帳號的主目錄建在/home2下。
2、將已有帳號移至新的位置。這可按如下步驟實實施:
首先,將已有帳號的主目錄連帶目錄屬性拷至新位置,可用下面命令:
cp -a /home /home2
或
cp -rpd /home /home2
然後,修改/etc/passwd文件中相應記錄的home_directory域爲/home2/username。
這樣兩步已將舊帳號移至新位置。確保無誤後,可刪去舊帳號的舊主目錄,以騰出原文件系統的空間。
Q:
LINUX怎麼用USB碟
有誰用過啊
A:
[root@legend root]# fdisk -l /dev/sda
Disk /dev/sda: 73.4 GB, 73407900160 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2550 20482843+ 7 HPFS/NTFS
/dev/sda2 2551 8793 50146897+ f Win95 Ext'd (LBA)
/dev/sda3 8795 8924 1044225 82 Linux swap
/dev/sda5 2551 4972 19454683+ 7 HPFS/NTFS
/dev/sda6 4973 6884 15358108+ 7 HPFS/NTFS
/dev/sda7 6885 7011 1020096 83 Linux
/dev/sda8 7012 8792 14305851 83 Linux
[root@legend root]#
1:確定你的內核支持USB碟
<1>:SCSI的選項預設就可以
<2>:USB的選項一定要安裝<*> USB Mass Storage support
2:fdisk -l /dev/sda看看有沒有sda1列出來
3:如果有,
mkdir /mnt/usb
mount /dev/sda1 /mnt/usb -t vfat(當然也可能是msdos)
4:其他:
<1>:在/etc/fstab裡面加入:
程式碼:
/dev/sda1 /mnt/usb vfat user,noauto,codepage=936,iocharset=cp936,umask=022 0 0
可以保證任何一個用戶都可以mount USB番,並且啟動時不載入
-Tip1 檢視man文件...
nroff -man man/libnet.3 | less
有時候man文件不在系統目錄..這時候就可以用上面的方式來檢視非標準的man文件
-Tip2 以不同的用戶身份執行程序...
su - username -c "where/is/command/line"
有時候需要執行特殊身份的程序...就可以讓su來做...
-Tip3 解壓bz文件
tar -jvxf some.bz
就是把tar的zvxf 改成jvxf
-Tip4 編輯/etc/inittab後直接生效的方法..
執行init q
-Tip5 讓linux連續執行幾個指令,出錯停止
command1 && command2 && command3 ....
-Tip6 linux中的bg和fg管理
當我們打ctrl+z的時候一個工作就被掛起(就是暫停),同時螢幕上返回一個數字,
這時候可以用 "bg %數字" 來把這個工作放到後台執行...這個很適合在你忘了加
&的時候進行補救...同樣 " fg %數字 "就能讓這個工作放到前台來執行了...
job指令用來檢視當前的被bg的工作...
-Tip7 ctrl+s與ctrl+q
ctrl-s 好像是從終端時代遺傳過來的東東, 流量控制, 用來暫停向終端傳送資料的. ctrl-q 用來恢復恢復
-Tip8 目錄統計教本
儲存成total.sh ,然後用total.sh 絕對路徑,就會統計路徑下目錄的大小了
程式碼:--------------------------------------------------------------------------------
#!/bin/sh
du $1 --max-depth=1 | sort -n|awk '{printf "%7.2fM ----> %s\n",$1/1024,$2}'|sed 's:/.*/\([^/]\{1,\}\)$:\1:g'
--------------------------------------------------------------------------------
-Tip9 grep不顯示本身工作
程式碼:--------------------------------------------------------------------------------ps -aux|grep httpd|grep -v grep--------------------------------------------------------------------------------
通過再一次grep -v grep就可以取消顯示你所執行的grep本身這個工作,-v參數是不顯示所列出的工作名.
-Tip10 自己用的一個統計httpd的指令碼
程式碼:--------------------------------------------------------------------------------
#!/bin/sh
while (true)
do
pstree |grep "*\[httpd\]$"|sed 's/.*-\([0-9][0-9]*\)\*\[httpd\]$/\1/'
sleep 3
done
--------------------------------------------------------------------------------
-Tip 11 解壓rpm包中的文件
程式碼:--------------------------------------------------------------------------------
cat gnome-libs-1.4.1.2.90.22.i386.rpm | rpm2cpio | pax -r
--------------------------------------------------------------------------------
-Tip12 去掉apache的manual目錄中的所有.en的後面名
進入到manual目錄
程式碼:--------------------------------------------------------------------------------find ./ -regex .*\.en|awk -F. '{ printf "mv %s.%s.%s.%s %s.%s.%s\n",$1,$2,$3,$4,$1,$2,$3}'|sh
--------------------------------------------------------------------------------
-Tip 13 linux裡如何映射windows裡的硬碟
mount -t smbfs -o username=xxx,password=xxx //winxp_ip_or_hostname/sharename /local_path
[zt] form rexhsu's bbshttp://rexhsu.minidns.net/~irc/discuz/viewthread.php?tid=13
Linux Useful Tips (Collected by RexHsu@ccf)
-Tip1 指令行下製作ISO
用法: mkisofs -a -I -J -r -o filename.iso /目錄
用途: 將linux下某個目錄中的所有文件做成iso鏡像.而且我加上了參數,可以保證你做出來的光碟是在windows下也可以用的 (iso是有文件大小限制的...直接多少偶忘記了)
-Tip2 Linux下ISO的虛擬方法
步驟如下:
1. 把 /dev/cdrom 刪除,然後執行 ln -s /dev/loop7 /dev/cdrom
2. losetup /dev/loop7 xxx.iso
3. mount /mnt/cdrom
如何換盤:
1. losetup -d /dev/loop7 ;目的是取消這個設備
2. losetup /dev/loop7 yyy.iso ;新的iso文件
-Tip3 hosts的用法
host能夠用來查詢域名,然而它可以得到更多的信息.host -t mx linux.com可以查詢出linux.com的MX記錄,以及處理mail的host的名字.host -l linux.com會返回所有註冊在linux.com下的域名.host -a linux.com則會顯示這個主機的所有域名信息.
-Tip4 *.bz2文件如何解壓縮
使用tar -I 或者bunzip2指令都可以.
-Tip5 RPM一般用法
安裝rpm包時顯示進度並校驗包的正確性
用-vh參數:
如 rpm -ivh ipchains-1.3.6-1.i386.rpm
如果用glint或xrpm則不必.
直接通過ftp來安裝rpm包
如 rpm -iftp://ftp.xxx.xxx
校驗所有的rpm包,搜尋丟失的文件
rpm -Va
搜尋一個文件屬於哪個rpm包
如 rpm -qf /usr/bin/who
列出一個rpm包的描述信息
如 rpm -qpi mon-0.37j-1.i386.rpm
列出一個rpm包的文件信息
如 rpm -qpl mon-0.37j-1.i386.rpm
-Tip6 檢視系統監聽的服務
用法: netstat -ln
解釋: "l"表示顯示當前系統監聽的連接埠信息;"n"表示連接埠按照連接埠號來顯示,而不轉換為service文件中定義的連接埠名;若希望瞭解各個連接埠都是由哪些工作監聽則可以使用p參數.
-Tip7 檢視系統執行的工作
用法: ps -auxw
解釋: 其中參數"a"表示顯示系統中所有用戶的的工作;"u"表示輸出工作用戶所屬信息;"x"表示也顯示沒有控制台的工作;若顯示行太長而被截斷則可以使用f參數.
-Tip8 Linux帳號搬家
對於新帳號->
保證將要加入系統的新帳號放在新的位置上,這通過修改/etc/default/useradd文件中的HOME值來實現. 如: HOME=/home2 使新增帳號的主目錄建在/home2下.
將已有帳號移至新的位置->
首先,將已有帳號的主目錄連帶目錄內容拷至新位置,可用下面指令:
cp -a /home /home2
或
cp -rpd /home /home2
然後,修改/etc/passwd文件中相應記錄的home_directory域為/home2/username.
這樣兩步已將舊帳號移至新位置.確保無誤後,可刪去舊帳號的舊主目錄以騰出原文件系統的空間.
-Tip9
Linux 啟動時螢幕顯示的信息來不及看清就一閃而過,如果對這些信息感興趣的話可以在啟動完後用指令 dmesg 檢視.
-Tip10 GRUB引導恢復小法
用啟動碟或安裝碟(linux rescue)進linux
sh# grub
grub> root (hdx,y)
grub> setup (hd0)
重啟
說明: 如果成功會有一個successful......這裡的x,如果是一個盤,就是0.如果你所安裝的linux的根分區在第二個硬碟上,那x就是1了;y就是裝有linux系統所在的根分區.setup (hd0)就是把GRUB寫到硬碟的MBR上.如果我知道我的linux裝在第一個硬碟上,但我不知道裝在哪個分區上,就可以先輸入root (hd0,然後用[TAB]鍵來補齊,然後就明白了.
-Tip11 測試磁牒效能
用法: hdparm -tT /dev/hd?
例如: hdparm -tT /dev/hda (測試第一個物理硬碟的速度)
-Tip12 將局內網的服務對外開放
將192.168.1.2上的8888連接埠映射到192.168.1.3的8888連接埠
#iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8888 -j DNAT --to-destination 192.168.1.2:8888
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.2 -p tcp -m tcp --dport 8888 -j SNAT --to-source 192.168.1.3
#iptables -A INPUT -p tcp --dport 8888 -i eth0 -j ACCEPT (視情況而加)
-Tip13 關閉"討厭"的Linux按鍵Beep聲
vi /etc/.inputrc 增加下面一行
set bell-style none
-Tip14 開機進入圖形/文本登入方式
vi /etc/inittab
id:x:initdefault:
x=3:文本方式 x=5:圖形方式
-Tip15 在GRUB中限制系統可使用的記憶體數量
限制Linux只能使用120MB記憶體
title Red Hat Linux (2.4.19)
root (hd0,1)
kernel /boot/vmlinuz-2.4.19 ro root=/dev/hda2 mem=120M
initrd /boot/initrd-2.4.18-14.img
-Tip16 如何搜尋某條指令的相關庫文件
在Linux環境下通過ldd指令即可實現,在控制台執行:
ldd /bin/ls
即可得到/bin/ls指令的相關庫文件列表.
-Tip17 只列子目錄(文件)
ls -F | grep /$
你也可以在.bashrc(針對bash)中把該指令作成alias,以後只要敲入sub就可以實現只列子目錄的功能.
alias sub = 「ls -F | grep /$」
同樣,ls -l | grep ^-則是只列普通文件.
-Tip18 計算目錄下的文件及子目錄
ls -al | wc -l
-Tip19 RedHat 下顯示彩色目錄列表
ls -color 可以顯示彩色目錄列表,其中:
藍色→目錄
綠色→可執行文件
紅色→壓縮檔案
淺藍色→連結文件
灰色→其他文件
同樣你還可以試試ls --color(比前面多-),看看兩者的差別吧
-Tip20 列目錄時顯示中文檔案名
在沒有打修正檔的Linux系統中,我們用ls列目錄,發現中文檔案名都成了?號.我們可以使用--show-control-chars指令選項來顯示.
ls --show-control-chars
-Tip21 改變當前路徑下所有目錄和文件的所有權
chown -R owner[.group] *
也可以用find指令來實現:
find . -exec chown owner[.group] {} ;
-Tip22 改變所有子目錄及文件的內容
在你要改變內容的目錄下,輸入指令:
chmod -R 777 *
就可以改變下面所有子目錄及文件的內容,不過使用這個指令的時候要特別小心,要是在根目錄下打入這個指令,你所有文件的內容都將改變,這就會引起很大的安全性問題.
-Tip22 使用nohup指令
如果你想工作在你退出系統後還能執行,可以使用nohup指令.
如:
nohup tar cf /dev/tape /home &
你退出後再重新登入的話,使用ps指令會發現工作還在執行.
-Tip23 重新啟動
Ctrl+Alt+Del 或 init 6 或 shutdown -r now
-Tip24 快速搜尋文件
搜尋文件可以用find,但最好是用locate.速度快,參數少.
locate filename
它是在一個資料庫裡面搜尋.所以,要記得經常用updatedb指令更新資料庫.一般地,我們是在crontab裡面加一句,讓電腦在每天深夜更新資料庫.
另外,快速搜尋指令文件,可以使用whereis.
例如:
whereis rpm
-Tip25 搜尋Linux指令
如果你想實現某種功能,但是不知道該使用什麼指令.你可以試試apropos指令,它也許能幫你找到你想要的指令.例如: 你要「搜尋」文件,又不知道用什麼指令,你可以敲入下面的指令:
apropos search
-Tip26 在同一個指令行上同時執行多條指令
用分號分隔.如編譯一個源文件:
#./configure ; make ; make install
-Tip27 用gzip(gunzip)壓縮(解壓)同一目錄下的多個文件
gzip * 或者 gunzip *
-Tip28 在使用less或more時,直接啟動vi
在less或者more中打入v鍵,會立即啟動vi編輯器,可以對文件進行編輯.
-Tip29 在使用mail中啟動vi
如果你覺得用mail傳送郵件編輯起來很不方便,你可以在正文的頂格輸入~v,啟動vi進行編輯,編輯完後退出vi,回到mail.
-Tip30 觀察文件大小變化
使用watch指令,可以反覆執行指令.和ls配合,可以達到觀察某文件大小變化的效果.
watch ls -| file.name
-Tip31 搜尋含特定字串串的文件
例如搜尋當前目錄下含有"the string you want find..."字串串的文件:
``find . -type f -exec grep 「the string you want find...」 {} ; -print
-Tip32 觀看binary文件中的字串串
strings binaryfile
-Tip33 重裝Win 9x後lilo失效無法啟動Linux
只須先用軟碟啟動Linux然後執行一次lilo即可.對於RedHat可以用指令mkbootdisk來製作啟動碟,例如:
mkbootdisk --device /dev/fd0 2.4.20
其中2.4.20是/lib/modules下的一個目錄.
-Tip34 去掉引導區內的lilo信息
安裝lilo後如果硬碟數量或分區情況有改變的話將導致硬碟不能啟動,這時只需用軟碟啟動DOS再執行fdisk/mbr即可.
-Tip35 把DOS/Windows改為預設操作系統
RedHat把Linux作為lilo預設操作系統,即出現 boot: 提示號後直接Enter鍵啟動Linux.如果想改為DOS/Windows,修改文件/etc/lilo.conf,把有關啟動DOS的部分放在前面,再執行一次lilo即可.也可以在lilo.conf的配置文件前面加上 Default=dos 其中DOS是DOS/Windows的label
-Tip36 如何使用.iso文件
許多Linux發行版本都有.iso的光碟鏡像文件,可以用來燒錄光碟.我們也可以在Linux系統下直接使用.
mount -t iso9660 xxxxx.iso /any/path/if/u/like -o loop
-Tip37 顯示文件的類型
用指令 file 可以使你知道某個文件究竟是ELF格式的可執行文件,還是shell script文件或是其他的什麼格式.
file filename
-Tip38 解壓.tar.gz文件
xxxx.tar.gz文件使用tar帶zxvf參數,可以一次解壓開.
tar zxvf xxxx.tar.gz
-Tip39 後台執行程序
可以在程序後面加「&」符號,讓程序在後台執行.例如: 你想用updatedb更新文件路徑資料庫,又不影響你其他的工作.可以:
updatedb &
-Tip40 強行退出 X
有時候在 X 裡由於程式出錯滑鼠鍵盤都不起作用,這時候不用著急,因為在Linux下幾乎不會像在Win 95里那樣惡性當機,你只須同時按下Ctrl+Alt+BackSpace鍵就可以回到字串界面下了.
-Tip41 壓縮可執行文件
可以使用gzexe壓縮可執行文件,壓縮後的可執行文件仍然可以直接執行.使用本方法可以達到節省磁牒空間的目的(如果你真的需要的話).
gzexe gawk
-Tip42 處理檔案名內含有特殊字串的文件
如果有一個檔案名叫-file,如果想刪除它,鍵入 rm -file 會顯示invalid option,原來由於檔案名的第一個字串為"-",Linux把檔案名當做選項了,可以加--解決這個問題,如rm -- -file.如果是其他特殊字串的話可以在特殊字串前加一個\,或者用雙引號把整個檔案名括起來.
-Tip43 快速進入目錄
鍵入 cd ~ 可進入用戶的home目錄;鍵入 cd - 可進入上一個進入的目錄.
-Tip44 想全部刪除以.開頭的file或dir時你會如何幹?
Wrong-> rm -r /tmp/.*
Correct-> rm -r /tmp/\.*
-Tip45 修改網路卡MAC位址
ifconfig eth0 down
ifconfig eth0 hw ether 00:AA:BB:CCD:EE
ifconfig eth0 up
上面的是臨時性的你可以加入rc.local讓它開機自動執行
-Tip46 檢視網路卡工作狀態
#mii-tool -v
eth0: no link
product info: vendor 00:00:00, model 0 rev 0
basic mode: autonegotiation enabled
basic status: no link
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
SIOCGMIIPHY on 'eth1' failed: Operation not supported
-Tip47 如何解決sendmail和sm-client啟動爆慢的問題!
造成sendmail和sm-client啟動慢是因為解析的問題,解決方法將自己的主機名加入/etc/hosts中即可,例如我的主機名是linuxbox.localdomain則/etc/hosts中應該有一條
192.168.100.1 linuxbox.localdomain linuxbox
付上一條帖上面信息加藍色標記的sed語法...
hoho...在unix上處理文字真是帥呆了...
程式碼:--------------------------------------------------------------------------------
sed -e "s/^-.*$/[color=blue]&[\/color]/g" tip>./new
--------------------------------------------------------------------------------
我是個初學者,也把自已的筆記上的加一下吧 (如有錯誤請PM我,我來改正)
-Tip 將一個服務加到自啟動執行等級中
chkconfig --add httpd
chkconfig --level 3 httpd on
就是把httpd加到chkconfig管理中,並加在第三層啟動
-Tip 在終端下調音量
aumix
-Tip 將man文件匯出為文件並去掉控制符
man command | col -b >col.txt
col -b就是去掉控制符的
-Tip 檢視資料夾大小
du ./ --max-depth=1
--max-depth=1是控制顯示深度
-Tip 光碟彈出,彈入
eject -r 彈出
eject -t 彈入
-Tip 顯示最近登入用戶
last
以上指令是redhat8下有用,沒試過在其它系統中有沒有用
tar -zxfv some.gz
則出錯。
請高手講解一些究竟有沒有「段橫(-)」 ?
-f表示後面要跟檔案名...你把f放在v前面...tar會認為v就是那個文件..當然出錯了...
f永遠在最後面...
看看man吧..一切都簡單..
top 顯示記憶體和程序的執行狀況
Ctrl H 顯示或者隱藏線程
procinfo 顯示記憶體和cpu的情況
cat /proc/meminfo 顯示記憶體使用情況
/proc 涵蓋了所有linux內核信息,因該仔細瞭解 top,procinfo都是利用/proc文件系統
開發的
redhat 中
chkconfig 可以設定系統啟動配置
chkconfig httpd on
chkconfig vsftpd on
.......
service 可以控制服務的起停
service vsftpd restart
service sendmail stop
禁止文件寫(包括root)
chattr +i filename
tail -f /var/log/messages 以既時滾動方式檢視系統syslog。
清空日誌:
cat /dev/null > *.log
可加在crontab中完成日誌的清空作業。
不建議清空日誌...為啥要清空日值????系統日值本身就循環的不會急暴你的var...
只有你安裝了apache等的程序才有日值啊...所以最好的辦法是讓日誌輪循...(直接方法搜尋apache的我的文件,或者查詢論壇主題)
還有cat >*.log就能達到同樣的功能了..
killall processname
殺死所有俱指定名字的工作。
Tip44 想全部刪除以.開頭的file或dir時你會如何幹?
Wrong-> rm -r /tmp/.*
Correct-> rm -r /tmp/\.*
這個方案不完美。因為linux有兩個名為.和..的文件(指資料夾)。
rm -r /tmp/\.* 沒有排除這兩個文件,因而有以下錯誤:
/bin/rm: cannot remove `.' or `..'
/bin/rm: cannot remove `.' or `..'
請高手給出完美方案,
因為我想要儲存用戶根目錄裡的所有.xxxx配置文件。類似:
cp \.* savedot/
資料夾
find /path/ \( -type d -name ".*" -exec mv {} ./path \; \)
文件
find /path/ \( -type f -name ".*" -exec mv {} /path/ \; \)
程式碼:--------------------------------------------------------------------------------
for file in `ls /home/userdir -al|grep ^-|awk '{print $9}'|grep "^\."`
do
cp $file /some/where
done
--------------------------------------------------------------------------------
如果能工作就ok啦...
Tip2 Linux下ISO的虛擬方法
步驟如下:
1. 把 /dev/cdrom 刪除,然後執行 ln -s /dev/loop7 /dev/cdrom
2. losetup /dev/loop7 xxx.iso
3. mount /mnt/cdrom
如何換盤:
1. losetup -d /dev/loop7 ;目的是取消這個設備
2. losetup /dev/loop7 yyy.iso ;新的iso文件
另一項作法:
1. 隨便找個作為 .iso 內容入口的目錄,如 :
mkdir -p /mnt/v_cdrom1
2. 把 .iso 掛到剛選好的路徑中...
mount -t iso9660 -o loop,iocharset=cp950,codepage=950 /files/W2K_TW_SP4.iso /mnt/v_cdrom1
※ -o 表示 option,
loop 表示這是個 loop 裝置,
iocharset 及 codepage 用於指定該 iso 所用的編碼系統,
.iso 為掛載來源,
/mnt/v_cdrom1 為指定的 iso 入口...
3. 將 .iso 卸載...
umount /mnt/v_cdrom1
這是為了保留原來實體光碟機之用... 我一直只知道這招...
Tip31 搜尋含特定字串串的文件
例如搜尋當前目錄下含有"the string you want find..."字串串的文件:
``find . -type f -exec grep 「the string you want find...」 {} ; -print
這個我一般這樣用:
find <路徑> [-name xxx] | xargs grep "字串" ...
用grep -r ...或grep -R就可以了
有些grep版本沒這個選項
還有cat >*.log就能達到同樣的功能了..
不一樣,如果你用cat >*.log,這樣會需要按一個ctrl+c
如果cat /dev/null >*.log,就不需要按額外的鍵,適合用在指令碼中自動執行.
-f表示後面要跟檔案名...你把f放在v前面...tar會認為v就是那個文件..當然出錯了...
f永遠在最後面...
看看man吧..一切都簡單..
這個是不對的, vf都是參數,fv一樣,不信試試?
你可以用
tar -x -j -v -f
不過這樣比
tar xjvf 不是麻煩多了?
嘿嘿
這個可能需要追述unix的指令和開關的歷史咯∼,太多就不知啦。
BTW,而且如果使用
tar -x -j -v -f FILENAME
的話,-f的確要放在最後,但是 tar xjvf是不用的。
才看到上溫老……
-xjvf也行,不過這個就要注意順序了,否則f後面不接檔案名,就會出錯的
這個方案不完美。因為linux有兩個名為.和..的文件(指資料夾)。
rm -r /tmp/\.* 沒有排除這兩個文件,因而有以下錯誤:
/bin/rm: cannot remove `.' or `..'
/bin/rm: cannot remove `.' or `..'
請高手給出完美方案,
因為我想要儲存用戶根目錄裡的所有.xxxx配置文件。類似:
cp \.* savedot/
find /tmp -type f -maxdepth 1 -name ".*" -exec mv {} path-to-your-savedot/ \;
ps -e
ps -ef
是不同的.
你會發現不同的當前run的name.
如果發現不同,就說明有可能有人在你的機器作了一些動作。
利用xargs對管道輸出的信息使用特定程序進行處理
例子:
find ~root|xargs chmod a-x
num-lock default on
any of /etc/rc.d/*
for t in 1 2 3 4 5 6 7 8
do
setleds +num < /dev/tty$t > /dev/null
done
這個方案不完美。因為linux有兩個名為.和..的文件(指資料夾)。
rm -r /tmp/\.* 沒有排除這兩個文件,因而有以下錯誤:
/bin/rm: cannot remove `.' or `..'
/bin/rm: cannot remove `.' or `..'
請高手給出完美方案,
因為我想要儲存用戶根目錄裡的所有.xxxx配置文件。類似:
cp \.* savedot/
資料夾
find /path/ \( -type d -name ".*" -exec mv {} ./path \; \)
文件
find /path/ \( -type f -name ".*" -exec mv {} /path/ \; \)
如果還有問題繼續 呵呵.. 希望對大家有用..
檢視win32(fat)分區.
fdisk -l (列出分區)(例)
/dev/hda6 5000000 fat32
我們要看到這個分區,則:
mkdir win_fat
mount -t vfat /dev/hda6 /win_fat
列出遠端主機(windows)的共享目錄
smbclient -L X.X.X.X(IP) -U 用戶名
把遠端主機的共享目錄temp掛到/mnt
mount -t smbfs -o username=用戶名 //X.X.X.X(IP)/temp /mnt
redhat 9 下通過
Tip2 Linux下ISO的虛擬方法
步驟如下:
1. 把 /dev/cdrom 刪除,然後執行 ln -s /dev/loop7 /dev/cdrom
2. losetup /dev/loop7 xxx.iso
3. mount /mnt/cdrom
如何換盤:
1. losetup -d /dev/loop7 ;目的是取消這個設備
2. losetup /dev/loop7 yyy.iso ;新的iso文件
另一項作法:
1. 隨便找個作為 .iso 內容入口的目錄,如 :
mkdir -p /mnt/v_cdrom1
2. 把 .iso 掛到剛選好的路徑中...
mount -t iso9660 -o loop,iocharset=cp950,codepage=950 /files/W2K_TW_SP4.iso /mnt/v_cdrom1
※ -o 表示 option,
loop 表示這是個 loop 裝置,
iocharset 及 codepage 用於指定該 iso 所用的編碼系統,
.iso 為掛載來源,
/mnt/v_cdrom1 為指定的 iso 入口...
3. 將 .iso 卸載...
umount /mnt/v_cdrom1
這是為了保留原來實體光碟機之用... 我一直只知道這招...
Tip44 想全部刪除以.開頭的file或dir時你會如何幹?
Wrong-> rm -r /tmp/.*
Correct-> rm -r /tmp/\.*
這個方案不完美。因為linux有兩個名為.和..的文件(指資料夾)。
rm -r /tmp/\.* 沒有排除這兩個文件,因而有以下錯誤:
/bin/rm: cannot remove `.' or `..'
/bin/rm: cannot remove `.' or `..'
請高手給出完美方案,
因為我想要儲存用戶根目錄裡的所有.xxxx配置文件。類似:
cp \.* savedot/
killall processname
殺死所有俱指定名字的行程。
num-lock default on
any of /etc/rc.d/*
for t in 1 2 3 4 5 6 7 8
do
setleds +num < /dev/tty$t > /dev/null
done
檢視win32(fat)分區.
fdisk -l (列出分區)(例)
/dev/hda6 5000000 fat32
我們要看到這個分區,則:
mkdir win_fat
mount -t vfat /dev/hda6 /win_fat
lsof -p pid
顯示該行程開啟的文件
lsof -i ◎[ip|hostname] port
顯示連接開啟的文件
lsof directory
顯示開啟這個目錄的文件(可以在想umount某一目錄不成功的時候,檢視是不是被別的文件開啟了)
lsof file
顯示開啟這個文件的行程
在ksh下用vi來編輯所有執行過的指令
ksh下執行set -o vi
或者在別的shell下執行ksh -o vi
more或者man的時候可以直接使用vi中的一些操作
比如j,k,CTRL+f CTRL+b,/ 等等
想把man的內容匯出到文本麼?
man ls | col -b >a.txt
csh下"^"的一個小用法
% touch 11
% ^11^22
touch 22
%
不過只能替換第一個匹配到的字串串,第二個就匹配不到了
我的工作環境一般用tar+compress
tar cvf - ./dir | compress -c >dir.tar.Z
uncompress -c dir.tar.Z|tar xvf -
當前目錄下文件太多,用grep會報參數超長...
$ ls -al|wc -l
12323
$ grep 123123123 *
Arguments too long.
$ find . -name "*" | xargs grep 123123123
vi,awk和sed的用法也是很多技巧,不過只需要多看書,多實驗就行了
繼續探討...
目前,個人電腦用戶中許多人都使用Windows系統,但也安裝了Linux系統,因此如何在Linux或Windows中實現硬碟資源互訪就顯得非常重要。
Linux下訪問Windows硬碟分區
在Red Hat Linux下訪問Windows系統的硬碟分區很簡單。因為Red Hat Linux提供了對幾乎所有檔案系統的支持,因此它可以直接讀寫Windows系統的分區。安裝Red Hat Linux 時,就可以指出電腦中存在的Windows分區的位置,並指定想要將它們載入到Linux檔案系統中的位置。
通常,將Windows系統中C硬碟的內容載入到Linux系統下的目錄/mnt/c,這時就可以如同看待Linux檔案系統中一個目錄一樣看待C硬碟了。
我們可以對其中的檔案進行讀寫,或者在其中新建一個新的檔案或目錄。如果安裝時沒有指定Windows分區的位置,或者由於其它原因使/mnt/c目錄下看不到系統Windows分區C硬碟的內容,就可以用下面的命令手動載入該分區:
#mount -t vfat/dev/hdal /mnt/c
此命令可以將設備名為/dev/hda1(可以是任何實際存在的分區設備名)的Windows分區載入到目錄/mnt/c 下,參數「-t vfat」表明載入的檔案系統類型為vfat。
用類似的mount命令,也可以載入軟碟檔案系統,只不過軟碟的檔案系統設備名通常是「/dev/floopy」或「/dev/fd0H1440」。
為了統一起見,可將其載入到目錄/mnt/floopy中。
Red Hat Linux中還提供了一個檔案系統的系統配置腳本檔案,通過修改它可以讓Linux啟動時自動載入需要的其它非Linux檔案系統。這個腳本是檔案/etc/fstab,它的一個典型例子如下:
/dev/hda3 / ext2 defaults 1 1
/dev/hda4 swap swap defaults 0 0
/dev/fd0 /mnt/floppy ext2 noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,r0 0 0
none /proc proc proc 0 0
none /dev/pts devpts mode=0622 0 0
/dev/hda1 /mnt/c vfat auto,rw 0 0
/dev/hda5 /mnt/e vfat auto,rw 0 0
該檔案中每行記錄了一個系統自動載入的檔案系統的訊息,各列的意義依次為設備名、載入目錄、檔案系統類型、載入參數(自動、讀寫、模式等)、標記位。
從這個檔案可以看到,第一行是Linux自身的檔案系統,第三、第四行代表軟碟驅動器和光碟驅動器,它們都不是自動載入的,最後兩行代表兩個需自動載入的Windows分區。
值得注意的是,對於軟碟、光碟這些存儲介質通常用「noauto」參數。如果像上例這樣,它們在fstab檔案中有記錄,插入軟碟或者光碟後,只需執行命令「mount/mnt/floopy」或「mount/mnt/cdrom」就可以將其載入Linux系統。
在取出軟碟或者光碟之前,必須執行命令「unmount/mnt/floopy」或「unmount/mnt/cdrom」取消它們的載入。否則,Linux系統會鎖住該驅動器,即使按硬體按鈕也無法將其取出。
Red Hat Linux 這種識別其它檔案系統的功能將大大方便使用電腦,在Linux下可以像對待其自身的資料一樣對待Windows分區中的資料。比如,在Linux下實踐各種命令的同時,還可以隨時查閱放在Windows分區中的Linux電子文檔。
Windows下訪問Linux硬碟分區
Windows系統在處理各種檔案系統方面,還不能像Red Hat Linux那樣方便。因此,要檢視Linux分區中的內容就需要借助於其它的軟體工具了。
下面我推薦一個目前流行的、功能穩定的工具軟體fsdext2。它是一個自由軟體,可以http://www.globalxs.nl/home/p/pvs下載最新版本,或者通過電子郵件聯繫作者:pvs@globalxs.nl。
fsdext2軟體提供在Windows系統下讀Linux分區的功能。獲得fsdext2的壓縮軟體包之後,先將其解壓縮,然後執行命令install。
這個安裝命令將fsdext2需要的幾個vxd檔案拷貝到Windows的系統目錄下。
使用fsdext2提供的mount命令,將ext2檔案系統載入到Windows系統下。mount命令的參數是Linux分區的設備名(命名規則與Linux下的一樣)。
然後fsdext2會自動尋找一個未分配的磁碟代號代表Linux分區。這樣,我們就可以像訪問一個Windows分區一樣訪問Linux分區了。