http://blog.csdn.net/pipisorry/article/details/39854265
æ¥çç¨æ·çä¿¡æ¯
pika:~$id pika
uid=1000(pika) gid=1000(pika) groups=1000(pika),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare),125(docker)
ç®å½ä¸è·¯å¾
cd:åæ¢ç®å¼½
pwd:æ¾ç¤ºå¼¼åç®å¼½
æ°å»ºç®å½
mkdir:建ç«ä¸ä¸ªæ°çç®å½
 -m, --mode=模å¼ï¼è®¾å®æé<模å¼> (类似 chmod)ï¼èä¸æ¯ rwxrwxrwx å umask
 -p, --parents  å¯ä»¥æ¯è·¯å¾å称ãæ¤æ¶è¥è·¯å¾ä¸çæäºç®å½å°ä¸åå¨ï¼ç³»ç»å°èªå¨å»ºç«ï¼ä¸æ¬¡å¯ä»¥å»ºç«å¤ä¸ªç®å½ã
 -v, --verbose  æ¯æ¬¡å建æ°ç®å½é½æ¾ç¤ºä¿¡æ¯
rmdir:å é¤ä¸ä¸ªç©ºçç®å½
åæ¢ç®å½å½ä»¤cd
cd [ç®å½å] ï¼åæ¢å½åç®å½è³dirName (Change the current directory to DIR)Â
1. cd ï¼ è¿å ¥ç³»ç»æ ¹ç®å½Â
2. cd .. è¿åä¸ä¸çº§ç®å½Â
3. cd ~ æcd å½åç¨æ·ä¸»ç®å½Â
ï¼æ³¨æï¼âå½åç¨æ·ä¸»ç®å½âåâç³»ç»æ ¹ç®å½âæ¯ä¸¤ä¸ªä¸åçæ¦å¿µï¼Â
4. cd - è¿åè¿å ¥æ¤ç®å½ä¹åæå¨çç®å½
. 代表æ¤å±ç®å½
.. 代表ä¸ä¸å±ç®å½
- 代表åä¸ä¸ªå·¥ä½ç®å½
~ 代表âç®å使ç¨è
身份âæå¨ç主æ件夹
~account 代表 account è¿ä¸ªä½¿ç¨è
ç主æ件夹ï¼accountæ¯ä¸ªå¸å·å称ï¼
ç®ç®blog
æ件ä¸ç®å½ç®¡ç
å é¤rm
rm -rf dir #å é¤ç®å½ä¸æææ件
rm -rfå é¤ä¸äºæ件夹
#rm -rf æ¨èç³»ç»1/
rm: cannot remove âæ¨èç³»ç»1/â: Directory not empty
å¨å é¤æ个ç®å½æ¶ï¼è¥æè¿ç¨å¾è¯¥ç®å½åå ¥æ°æ®ï¼åéè¦å åæ¢è¯¥è¿ç¨çæå¡ï¼ækillæ该è¿ç¨ï¼ï¼æ以æ们çä¸äºShell代ç å¨å¸è½½æå é¤ç®å½æ¶å°±åå¨å¤±è´¥çå¯è½ã
[ææ´åç rm -rf å½ä»¤å± ç¶å é¤ç®å½å¤±è´¥äºï¼ä¸ºä»ä¹ï¼]
ä¸è¿æ´å¯è½æ¯æ件系ç»åºéäºï¼lzå°±æ¯ï¼å¯è½æ¯å 为ä¹åå é¤æªå®ææ¶åæ¶äºå§ï¼ï¼
Apparently there was a corruption in the filesystem that was preventing me from deleting the directory. Here are the steps I performed. Your mileage may vary...
Boot into archlinux live CD.
btrfsck --repair /dev/sda1
mount -t btrfs /dev/sda1 /mnt
rm -Rf /mnt/__active/home/$USER/.config/chromium~
umount /mnt
reboot
Warning: There are risks in performing the btrfsck --repair command. I suggest backing up any essential data prior to running that command. Read the link provided by rebootl above for more information on the risks.
è¿æ ·çè¯ï¼æ好å¼æºæ¶è¿è¡diskæ£æ¥ãå¦windowså¼æºæ¶è®¾ç½®æ£æ¥å°±å¯ä»¥æ£æ¥åºé误ï¼è¿æ ·å°±å¯ä»¥å é¤è¿ä¸ªç®å½äºã
[[Solved] rm: cannot remove DIRECTORY: Directory not empty]
[cannot delete file with rm -rf]
移å¨: rm, mv
mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory
é项ä¸åæ°ï¼
-f ï¼force 强å¶çææï¼å¦æç®æ æ件已ç»åå¨ï¼ä¸ä¼è¯¢é®èç´æ¥è¦çï¼
-i ï¼è¥ç®æ æ件 ï¼destinationï¼ å·²ç»åå¨æ¶ï¼å°±ä¼è¯¢é®æ¯å¦è¦çï¼
-u ï¼è¥ç®æ æ件已ç»åå¨ï¼ä¸ source æ¯è¾æ°ï¼æä¼æ´æ° ï¼updateï¼
ç®å½ï¼å å«åæ件夹ï¼ç转移ï¼mv dir1/ dir2/Â
å¦æç´æ¥mv带åæ件夹çæ件夹ä¸è¡ï¼æ¥é说æ件夹ä¸ä¸ºç©ºï¼è¿æ¶å¯ä»¥å cpårm -rfï¼cp -r a/ /tmp/, rm -rf a/
æ件æ·è´åå¤ä»½cp
cp [-adfilprsu] æ¥æºæ件ï¼sourceï¼ ç®æ æ件ï¼destinationï¼
å¦sudo cp a a.$(date +%Y-%m-%d)
cp [options] source1 source2 source3 .... directory
é项ä¸åæ°ï¼
-a ï¼ç¸å½äº -dr --preserve=all çææï¼è³äº dr 请åèä¸å说æï¼ï¼å¸¸ç¨ï¼
-d ï¼è¥æ¥æºæ件为é¾æ¥æ件çå±æ§ï¼link fileï¼ï¼åå¤å¶é¾æ¥æ件å±æ§èéæ件æ¬èº«ï¼
-f ï¼ä¸ºå¼ºå¶ï¼forceï¼çææï¼è¥ç®æ æ件已ç»åå¨ä¸æ æ³æå¼ï¼å移é¤ååå°è¯ä¸æ¬¡ï¼
-i ï¼è¥ç®æ æ件ï¼destinationï¼å·²ç»åå¨æ¶ï¼å¨è¦çæ¶ä¼å
询é®å¨ä½çè¿è¡ï¼å¸¸ç¨ï¼
-l ï¼è¿è¡ç¡¬å¼é¾æ¥ï¼hard linkï¼çé¾æ¥æ件å建ï¼èéå¤å¶æ件æ¬èº«ï¼
-p ï¼è¿åæ件çå±æ§ï¼æéãç¨æ·ãæ¶é´ï¼ä¸èµ·å¤å¶è¿å»ï¼èé使ç¨é»è®¤å±æ§ï¼å¤ä»½å¸¸ç¨ï¼ï¼
-r ï¼éåæç»å¤å¶ï¼ç¨äºç®å½çå¤å¶è¡ä¸ºï¼ï¼å¸¸ç¨ï¼
-s ï¼å¤å¶æ为符å·é¾æ¥æ件 ï¼symbolic linkï¼ï¼äº¦å³âæ·å¾âæ件ï¼
-u ï¼destination æ¯ source æ§ææ´æ° destinationï¼æ destination ä¸åå¨çæ
åµä¸æå¤å¶ã
--preserve=all ï¼é¤äº -p çæéç¸å
³åæ°å¤ï¼è¿å å
¥ SELinux çå±æ§, links, xattr çä¹å¤å¶äºã
æåéè¦æ³¨æçï¼å¦ææ¥æºæ件æ两个以ä¸ï¼åæåä¸ä¸ªç®çæ件ä¸å®è¦æ¯âç®å½âæè¡ï¼
RSyncå®ç°æ件å¤ä»½åæ¥
rsync -aXS /var/lib/docker/. DIR
-a, --archive å½æ¡£æ¨¡å¼ï¼è¡¨ç¤ºä»¥éå½æ¹å¼ä¼ è¾æ件ï¼å¹¶ä¿ææææ件å±æ§
[linuxä¸rsyncå½ä»¤è¯¦ç»æ´ç]
[RSyncå®ç°æ件å¤ä»½åæ¥]
åå¾æ件çæ件åä¸ç®å½å
basename /etc/sysconfig/network
network    è·åæåçæ件åã
dirname /etc/sysconfig/network
/etc/sysconfig     è·åçåæç®å½åäº
ä¹å¯ä»¥å¨èæ¬ä¸æ§è¡çç¨../../$(basename $DIR)
æ件é¾æ¥
使ç¨æ¹å¼ : ln [options] source distï¼å
¶ä¸ option çæ ¼å¼ä¸º :
ãã[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
ãã[--help] [--version] [--]
lnå½ä»¤ä¼ä¿ææ¯ä¸å¤é¾æ¥æ件çåæ¥æ§ï¼ä¹å°±æ¯è¯´ï¼ä¸è®ºä½ æ¹å¨äºåªä¸å¤ï¼å
¶å®çæ件é½ä¼åçç¸åçååï¼
lnçé¾æ¥å软é¾æ¥å硬é¾æ¥ä¸¤ç§ï¼è½¯é¾æ¥å°±æ¯ln âs ** **ï¼å®åªä¼å¨ä½ éå®çä½ç½®ä¸çæä¸ä¸ªæ件çéåï¼ä¸ä¼å ç¨ç£ç空é´ï¼ç¡¬é¾æ¥ln ** **ï¼æ²¡æåæ°-sï¼ å®ä¼å¨ä½ éå®çä½ç½®ä¸çæä¸ä¸ªåæºæ件大å°ç¸åçæ件ï¼æ 论æ¯è½¯é¾æ¥è¿æ¯ç¡¬é¾æ¥ï¼æ件é½ä¿æåæ¥ååã
ããå¦æä½ ç¨lså¯çä¸ä¸ªç®å½æ¶ï¼åç°æçæ件åé¢æä¸ä¸ª@ç符å·ï¼é£å°±æ¯ä¸ä¸ªç¨lnå½ä»¤çæçæ件ï¼ç¨ls âlå½ä»¤å»å¯çï¼å°±å¯ä»¥çå°æ¾ç¤ºçlinkçè·¯å¾äºã
æ件夹建ç«è½¯é¾æ¥ï¼å¿
é¡»è¦ç¨ç»å¯¹å°åï¼
ããln -s æºå°å ç®çå°å
å¦ælinuxæ件系ç»ç®å½rootfs_dir软é¾æ¥å°/home/jyg/ç®å½ä¸
ããln -s /opt/linux/rootfs_dir /home/jyg/rootfs_dir
æä¸ä¸ªæ件夹ä¸çæææ件åæ件æ代软è¿æ¥å°å¦ä¸ä¸ªæ件夹ä¸
ln -s `pwd`/source/* target/
Note: å¦æä½ ä½¿ç¨çæ¯zsh ï¼é£ä¹å¨ä½ 使ç¨éé 符 * å¹é çæ¶åï¼ä¼åºç° zsh: no matches found çé®é¢ã解å³: 1.å¨ ~/.zshrc ä¸å å ¥ï¼setopt no_nomatch 2.æ§è¡ source ~/.zshrc
ç®ç®blog
æ件å 容æ¥é
åºæ¬æ令
- cat ç±ç¬¬ä¸è¡å¼å§æ¾ç¤ºæ件å 容
- tac ä»æåä¸è¡å¼å§æ¾ç¤ºï¼å¯ä»¥çåº tac æ¯ cat çåçåï¼
- nl æ¾ç¤ºçæ¶åï¼é¡ºéè¾åºè¡å·ï¼
- more ä¸é¡µä¸é¡µçæ¾ç¤ºæ件å 容
- less ä¸ more 类似ï¼ä½æ¯æ¯ more æ´å¥½çæ¯ï¼ä»å¯ä»¥å¾å翻页ï¼
- head [-n 100]åªç头å è¡
- tail åªç尾巴å è¡
- od 以äºè¿å¶çæ¹å¼è¯»åæ件å 容ï¼
cat ç±ç¬¬ä¸è¡å¼å§æ¾ç¤ºæ件å 容
cat ï¼concatenateï¼
é项ä¸åæ°ï¼
-A ï¼ç¸å½äº -vET çæ´åé项ï¼å¯ååºä¸äºç¹æ®å符èä¸æ¯ç©ºç½èå·²ï¼
-b ï¼ååºè¡å·ï¼ä» é对é空ç½è¡åè¡å·æ¾ç¤ºï¼ç©ºç½è¡ä¸æ è¡å·ï¼
-E ï¼å°ç»å°¾çæè¡å符 $ æ¾ç¤ºåºæ¥ï¼
-n ï¼æå°åºè¡å·ï¼è¿å空ç½è¡ä¹ä¼æè¡å·ï¼ä¸ -b çé项ä¸åï¼
-T ï¼å° [tab] æé®ä»¥ ^I æ¾ç¤ºåºæ¥ï¼
-v ï¼ååºä¸äºçä¸åºæ¥çç¹æ®å符
Note: linuxä¸çä¸å¯è§å符æï¼^I表示ä¸ä¸ªtab符ï¼$表示ä¸ä¸ªå车符ï¼^M$表示windowsä¸çå车æ¢è¡ç¬¦ã
Headåtail
tail -n 1000ï¼æ¾ç¤ºæå1000è¡
tail -n +1000ï¼ä»1000è¡å¼å§æ¾ç¤ºï¼æ¾ç¤º1000è¡ä»¥åç
head -n 1000ï¼æ¾ç¤ºåé¢1000è¡
ä»ç¬¬3000è¡å¼å§ï¼æ¾ç¤º1000è¡ãå³æ¾ç¤º3000~3999è¡ï¼cat filename | tail -n +3000 | head -n 1000
æè ä¹å¯ä»¥ç¨sedå½ä»¤ï¼sed -n '5,10p' filename æ¥çæ件ç第5è¡å°ç¬¬10è¡ã
cat file| (head && tail) ï¼åæ¶æ¥çæ件头10è¡åå°¾10è¡
[How to read first and last line from cat output?]
vim 使ç¨æ³¨æäºé¡¹
æ¥çæ件类ååç¼ç file
$ file -i 50ä¸æ¡.csv
50ä¸æ¡.csv: text/plain; charset=iso-8859-1
[email protected]:~/files/DATASETS/æ·±å³ä¸å¡éæ°æ®$ file -i 50ä¸æ¡1.csv
50ä¸æ¡1.csv: text/plain; charset=utf-8
è¯ç³»ç¼ç 转æ¢iconv
iconvé项
-f, --from-code=å称 åå§ææ¬ç¼ç
-t, --to-code=å称 è¾åºç¼ç
-l, --list å举ææå·²ç¥çå符é
-c ä»è¾åºä¸å¿½ç¥æ æçå符
-o, --output=FILE è¾åºæ件
-s, --silent å ³éè¦å
--verbose æå°è¿åº¦ä¿¡æ¯
éå½è½¬æ¢(å æ¬åæ件夹)
find default -type d -exec mkdir -p utf/{} \;
find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;
[linux-å©ç¨iconvæ¹é转æ¢GBKæ件å°UTF-8ç¼ç æ¹æ³]
DOS ä¸ Linux çæè¡å符
Note: Unixç³»ç»éï¼æ¯è¡ç»å°¾åªæ"<æ¢è¡>"ï¼å³"\n"ï¼Windowsç³»ç»éé¢ï¼æ¯è¡ç»å°¾æ¯"<å车><æ¢è¡>"ï¼å³"\r\n"ï¼Macç³»ç»éï¼æ¯è¡ç»å°¾æ¯"<å车>"ãä¸ä¸ªç´æ¥åææ¯ï¼Unix/Macç³»ç»ä¸çæ件å¨Windowséæå¼çè¯ï¼æææåä¼åæä¸è¡ï¼èWindowséçæ件å¨Unix/Macä¸æå¼çè¯ï¼å¨æ¯è¡çç»å°¾å¯è½ä¼å¤åºä¸ä¸ª^M符å·ã
è¦å®è£ ï¼sudo apt-get install -y dos2unix
$ dos2unix [-kn] file [newfile]
$ unix2dos [-kn] file [newfile] é项ä¸åæ°ï¼ -k ï¼ä¿ç该æ件åæ¬ç mtime æ¶é´æ ¼å¼ ï¼ä¸æ´æ°æ件ä¸æ¬¡å
容ç»è¿ä¿®è®¢çæ¶é´ï¼ -n ï¼ä¿çåæ¬çæ§æ件ï¼å°è½¬æ¢åçå
容è¾åºå°æ°æ件ï¼å¦ï¼ dos2unix -n old new
å° man_db.conf 转æ Linux æè¡å符ï¼å¹¶ä¿çæ§æ件ï¼æ°æ件æ¾äº man_db.conf.linux
$ dos2unix -k -n man_db.conf man_db.conf.linux
æå¼æ件çé»è®¤å½ä»¤
æå¼æææ件æ¹æ³ï¼
  å¨Ubuntuä¸ï¼å½éè¦æå¼å ¶ä»æ ¼å¼æ件æ¶ï¼å±ä»¬é常åæ³æ¯è¿å ¥å°æ件æå¨çç®å½ï¼åå»æå¼ï¼å¾å½±åæçãäºå®ä¸ï¼å¯ä»¥éè¿å½ä»¤xdg-openæå¼è¿äºæ ¼å¼æ件ï¼çè³æ¯ç½é¡µï¼åæå¼æ件ä¸æ ·ç®åãxdg-openä¼éæ©åéçç¨åºæå¼æå®æ件ï¼è·åå»æå¼ææä¸æ ·ã
$ xdg-open filename &
$ xdg-open ***.mp3
$ xdg-open http://baidu.com
å ·ä½æä½å¦ä¸ï¼
xdg-open { file | URL }
xdg-open { --help | --manual | --version }
éè¿å¿«æ·é®Ctrl+Alt+Tå¯ä»¥æå¼shellï¼F11å¯ä»¥å ¨å±æ¾ç¤º(Alt+F9æå°åçªå£ï¼Alt+F10æ大å/æ¢å¤çªå£)ï¼åè¾ äºxdg-openå½ä»¤ï¼æ大åå°äºé¼ æ æä½ï¼ä¹å¤§å¤§æåäºæçã
æå¼ Â .doc .docx .xls .xlsx .ppt .pptx
libreoffice filename &
æå¼pdfæ件
evince filename.pdf &
Note: å¿äºæ&å¯ä»¥ Ctrl+zï¼ç¶åæbgå车ï¼æ件åä¸å«ç©ºæ ¼è¦ææ'\ '
å建æ°æ件å½ä»¤touch
touch myproject/settings/{__init.py,dev.py,prod.py,test.py}
Note:{...}å¯ä»¥å建å¤ä¸ªæ件
ç®ç®blog
å½ä»¤ä¸æ件çæ¥è¯¢
å¨ Linux ä¸é¢ä¹æç¸å½ä¼å¼çæ寻æ令ï¼
é常 find ä¸å¾å¸¸ç¨çï¼å 为éåº¦æ ¢ä¹å¤ï¼ ä¹å¾æ硬çï¼ä¸è¬æ们é½æ¯å ä½¿ç¨ whereis æè æ¯ locate æ¥æ£æ¥ï¼å¦æççæ¾ä¸å°äºï¼æ以 find æ¥æ寻ï¼ä¸ºä»ä¹å¢ï¼å 为 whereis åªæ¾ç³»ç»ä¸æäºç¹å®ç®å½ä¸é¢çæ件èå·²ï¼locate åæ¯å©ç¨æ°æ®åºæ¥æ寻æ件åï¼å½ç¶ä¸¤è å°±ç¸å½çå¿«éï¼ å¹¶ä¸æ²¡æå®é çæ寻硬çå çæ件系ç»ç¶æ
which ï¼å¯»æ¾âå¯æ§è¡æ件âï¼
# which [-a] command
-a ï¼å°ææç± PATH ç®å½ä¸å¯ä»¥æ¾å°çæ令åååºï¼èä¸æ¢ç¬¬ä¸ä¸ªè¢«æ¾å°çæ令å称
whereis ï¼ç±ä¸äºç¹å®çç®å½ä¸å¯»æ¾æ件æ件åï¼
# whereis [-bmsu] æ件æç®å½å
é项ä¸åæ°ï¼
-l :å¯ä»¥ååº whereis ä¼å»æ¥è¯¢çå 个主è¦ç®å½èå·²
-b :åªæ¾ binary æ ¼å¼çæ件
-m :åªæ¾å¨è¯´æææ¡£ manual è·¯å¾ä¸çæ件
-s :åªæ¾ source æ¥æºæ件
-u :æ寻ä¸å¨ä¸è¿°ä¸ä¸ªé¡¹ç®å½ä¸çå
¶ä»ç¹æ®æ件
# whereis passwd # å
¨é¨çæ件åééååºæ¥ï¼
# whereis -m passwd # åªæå¨ man éé¢çæ件åææåºæ¥ï¼
locate / updatedb
# locate [-ir] keyword
é项ä¸åæ°ï¼
-i ï¼å¿½ç¥å¤§å°åçå·®å¼ï¼
-c ï¼ä¸è¾åºæ件åï¼ä»
计ç®æ¾å°çæ件æ°é
-l ï¼ä»
è¾åºå è¡çææï¼ä¾å¦è¾åºäºè¡åæ¯ -l 5
-S ï¼è¾åº locate æ使ç¨çæ°æ®åºæ件çç¸å
³ä¿¡æ¯ï¼å
æ¬è¯¥æ°æ®åºçºªå½çæ件/ç®å½æ°éç
-r ï¼åé¢å¯æ¥æ£å表达å¼çæ¾ç¤ºæ¹å¼
findæ件æ¥æ¾å½ä»¤
[linux findå½ä»¤]
ç®ç®blog
æ件ä¸ç®å½çé»è®¤æéä¸éè
Linuxæ件å±æ§lså½ä»¤
å¨ä½ 以rootç身份ç»å ¥Linuxä¹åï¼ä¸è¾¾ls -al ççï¼ä¼çå°åºä¸çå 个ååï¼
[[email protected] ~]# ls -al
total 156
drwxr-x--- 4 root root 4096 Sep 8 14:06 .
drwxr-xr-x 23 root root 4096 Sep 8 14:21 ..
-rw------- 1 root root 1474 Sep 4 18:27 anaconda-ks.cfg
-rw------- 1 root root 199 Sep 8 17:14 .bash_history
-rw-r--r-- 1 root root 24 Jan 6 2007 .bash_logout
-rw-r--r-- 1 root root 191 Jan 6 2007 .bash_profile
-rw-r--r-- 1 root root 176 Jan 6 2007 .bashrc
-rw-r--r-- 1 root root 100 Jan 6 2007 .cshrc
drwx------ 3 root root 4096 Sep 5 10:37 .gconf <=èä¾è¯´æå¤
drwx------ 2 root root 4096 Sep 5 14:09 .gconfd
-rw-r--r-- 1 root root 42304 Sep 4 18:26 install.log <=èä¾è¯´æå¤
-rw-r--r-- 1 root root 5661 Sep 4 18:25 install.log.syslog
[ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ][ 7 ]
[ æé ][è¿ç»][æ¥æè
][群ç»][æ件容ébytes][ ä¿®æ¹æ¥æ ][ æªå ]
 ls -lhï¼å¨åºç¨ l é项çåæ¶åºç¨ h é项ï¼ä¼ä»¥åéçåä½æ¾ç¤ºæ件大å°ï¼æ¯å¦ä»¥ Kæè M 为åä½æ¾ç¤ºã
[Linux ls -lå½ä»¤ållå½ä»¤ è¾åºè§£æ]
-
第ä¸ä¸ªå符代表è¿ä¸ªæ件æ¯ãç®å½ãæ件æé¾æ¥æ件ççãï¼
Â
- å½ä¸º[ d ]åæ¯ç®å½ï¼ä¾å¦ä¸è¡¨æ¡£å为ã.gconfãçé£ä¸è¡ï¼
- å½ä¸º[ - ]åæ¯æ件ï¼ä¾å¦ä¸è¡¨æ¡£å为ãinstall.logãé£ä¸è¡ï¼
- è¥æ¯[ l ]å表示为è¿ç»æ¡£(link file)ï¼
- è¥æ¯[ b ]åè¡¨ç¤ºä¸ºè£ ç½®æ件éé¢çå¯ä¾å¨åçæ¥å£è®¾å¤(å¯éæºååè£ ç½®)ï¼
- è¥æ¯[ c ]åè¡¨ç¤ºä¸ºè£ ç½®æ件éé¢ç串è¡ç«¯å£è®¾å¤ï¼ä¾å¦é®çãé¼ æ (ä¸æ¬¡æ§è¯»åè£ ç½®)ã
-
æ¥ä¸æ¥çå符ä¸ï¼ä»¥ä¸ä¸ªä¸ºä¸ç»ï¼ä¸å为ãrwxãçä¸ä¸ªåæ°çç»åãå ¶ä¸ï¼[ r ]代表å¯è¯»(read)ã[ w ]代表å¯å(write)ã[ x ]代表å¯æ§è¡(execute)ãè¦æ³¨æçæ¯ï¼è¿ä¸ä¸ªæéçä½ç½®ä¸ä¼æ¹åï¼å¦æ没ææéï¼å°±ä¼åºç°åå·[ - ]èå·²ã
Â
- 第ä¸ç»ä¸ºãæ件æ¥æè çæéãï¼ä»¥ãinstall.logãé£ä¸ªæ件为ä¾ï¼è¯¥æ件çæ¥æè å¯ä»¥è¯»åï¼ä½ä¸å¯æ§è¡ï¼
- 第äºç»ä¸ºãå群ç»çæéãï¼
æ¹åæ件å±æ§ä¸æé
chgrp ï¼æ¹åæ件æå±ç¾¤ç»
chown ï¼æ¹åæ件æ¥æè
chmod ï¼æ¹åæ件çæé, SUID, SGID, SBITçççç¹æ§
Note: chgrp, chownçæ令å¯è½é½éè¦ä½¿ç¨rootç身份æè½å¤å¤çï¼å¹¶ä¸ä¸è½éè¿-Ræ¥æ¹å软é¾æ¥ç®å½ä¸æææ件æéï¼ä¸å®è¦ç¨å®é ç®å½ã
chown
[[email protected] ~]# chown [-R] è´¦å·å称 æ件æç®å½
[[email protected] ~]# chown [-R] è´¦å·å称:ç»å æ件æç®å½
é项ä¸åæ°ï¼
-R : è¿è¡éå½(recursive)çæç»åæ´ï¼äº¦å³è¿å次ç®å½ä¸çæææ件é½åæ´
Note:ç¨æ·å¿ é¡»æ¯å·²ç»åå¨ç³»ç»ä¸çè´¦å·ï¼ä¹å°±æ¯å¨/etc/passwdè¿ä¸ªæ件ä¸æ纪å½çç¨æ·å称æè½æ¹åã
ä¾å¦å¤å¶è¡ä¸º(cp)ä¼å¤å¶æ§è¡è çå±æ§ä¸æéï¼æ以å¤å¶çæ件è¿æ¯å±äºrootææ¥æï¼è¿éå设rootæ¯ä¹åçownerï¼ï¼å¦æ¤ä¸æ¥ï¼å³ä½¿ä½ å°æ件æ¿ç»binè¿ä¸ªä½¿ç¨è äºï¼é£ä»ä»ç¶æ æ³ä¿®æ¹ç(çå±æ§/æéå°±ç¥éäºå§)ï¼æä»¥ä½ å°±å¿ é¡»è¦å°è¿ä¸ªæ件çæ¥æè ä¸ç¾¤ç»ä¿®æ¹ä¸ä¸ã
èä¾
pika:~$sudo chown -R pika:pika /usr/local/hadoop-2.6.4
å°install.logçæ¥æè æ¹ä¸ºbinè¿ä¸ªè´¦å·ï¼
[[email protected] ~]# chown bin install.log
[[email protected] ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
å°install.logçæ¥æè ä¸ç¾¤ç»æ¹å为rootï¼
[[email protected] ~]# chown root:root install.log
[[email protected] ~]# ls -l
-rw-r--r--Â 1 root root 68495 Jun 25 08:53 install.log
chmod
æ°åç±»åæ¹åæ件æé
æ件çæéå符为ï¼ã-rwxrwxrwxãï¼è¿ä¹ä¸ªæéæ¯ä¸ä¸ªä¸ä¸ªä¸ç»çï¼å ¶ä¸ï¼æ们å¯ä»¥ä½¿ç¨æ°åæ¥ä»£è¡¨å个æéï¼åæéçåæ°å¯¹ç §è¡¨å¦ä¸ï¼
r:4Â Â Â Â Â Â Â Â Â Â w:2Â Â Â Â Â Â Â Â Â Â x:1
æ¯ç§èº«ä»½(owner/group/others)åèªçä¸ä¸ªæé(r/w/x)åæ°æ¯éè¦ç´¯å çï¼ä¾å¦å½æé为ï¼[-rwxrwx---] åæ°åæ¯ï¼
owner = rwx = 4+2+1 = 7Â Â Â Â Â group = rwx = 4+2+1 = 7Â Â Â Â Â Â others= --- = 0+0+0 = 0
# chmod [-R] xyz æ件æç®å½
é项ä¸åæ°ï¼
xyz : å°±æ¯ååæå°çæ°åç±»åçæéå±æ§ï¼ä¸º rwx å±æ§æ°å¼çç¸å ã
-R : è¿è¡éå½(recursive)çæç»åæ´ï¼äº¦å³è¿å次ç®å½ä¸çæææ件é½ä¼åæ´
符å·ç±»åæ¹åæ件æé
æ们å¯ä»¥èç±u, g, oæ¥ä»£è¡¨ä¸ç§èº«ä»½(1)user (2)group (3)othersçæéï¼æ¤å¤ï¼ a å代表 all 亦å³å ¨é¨ç身份ï¼é£ä¹è¯»åçæéå°±å¯ä»¥åær, w, xï¼
# chmod u=rwx,go=rx .bashrc
# 注æåï¼é£ä¸ª u=rwx,go=rx æ¯è¿å¨ä¸èµ·çï¼ä¸é´å¹¶æ²¡æä»»ä½ç©ºæ ¼ï¼
[[email protected] ~]# ls -al .bashrc
-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc
æémask
æémaskç设置éç¨æ°åå¼çï¼åæ ·ç¬¬ä¸ä¸ªæ°å表示ææè çæémaskï¼ç¬¬äºä¸ªæ°å表示群ç»çæémaskï¼ç¬¬ä¸ä¸ªæ°åè¡¨ç¤ºå ¶ä»ç¨æ·çæémask
å¦æumask=000ï¼å°±è¡¨ç¤ºä¸å±è½ä»»ä½ç¨æ·çä»»ä½æéï¼å³ææç¨æ·å ·æ读ãååæ§è¡æéï¼åä¾å¦fmask=033ï¼å°±è¡¨ç¤ºææ¡£ææè å ·æ读ãååæ§è¡æéï¼è群ç»åå ¶ä»ç¨æ·åªå ·æ读åçæéã
[LINUX UMASK详解]
windowsååºæé产ççé®é¢
[linuxç³»ç»æè½½windowsååºé误]
ç®ç®blog
from: http://blog.csdn.net/pipisorry/article/details/39854265
ref: