Юникс орчинд ороход шел дээр ажиллах нь зайлшгүй. Шел дээр ажиллах нь эхлээд залхуутай мэт санагдаж болох ч, энэ нь командууд болон багаж хэрэгслүүдийг хир зөв, үр дүнтэй ашиглаж байгаагаас хамаардаг. Үүний тулд хийж байгаа үйлдлээ хэрхэн илүү хялбар хурдан хийх вэ гэдгийг бодож, интернэтээс туршлага судлаж, шинэ хэрэгсэл, шинэ команд байнга сурч байх хэрэгтэй. Ингээд зарим хэрэг болохуйц командуудыг сийрүүлье.
Ямар шел дээр ажиллаж байгааг харах
Командын гарын авлагыг уншихПрограм хаана байрлаж байгааг харах# whereis cp cp: /bin/cp /usr/share/man/man1/cp.1.gz /usr/share/man/man1p/cp.1p.gz
|
|
Ажиллаж байгаа директори харахФайлын төрлийг харах# file pauker.pau.gz pauker.pau.gz: gzip compressed data, from MS-DOS |
|
Файлын эхний 5 мөрийг харах# head -n 5 ./tomcat/logs/localhost.2007-03-05.log Mar 5, 2007 4:36:16 PM org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextInitialized() Mar 5, 2007 4:36:16 PM org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextInitialized() Mar 5, 2007 4:36:17 PM org.apache.catalina.core.ApplicationContext log |
|
Файлын сүүлийн 5 мөрийг харах# tail -n 5 ./tomcat/logs/manager.2007-03-05.log INFO: HTMLManager: list: Listing contexts for virtual host 'localhost' Mar 5, 2007 5:15:48 PM org.apache.catalina.core.ApplicationContext log INFO: HTMLManager: restart: Reloading web application at '/testapp' Mar 5, 2007 5:15:48 PM org.apache.catalina.core.ApplicationContext log INFO: HTMLManager: list: Listing contexts for virtual host 'localhost' |
|
Лог файлын сүүлийн мөрүүдийг ажиглах# tail -f ./tomcat/logs/localhost.2007-03-05.log at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
|
|
Хоёр файлын ялгааг олох# diff dic.txt dic-new.txt 1a2 > new line
|
|
Удаан ажиллах командыг ард ажиллуулах# bin/backup-files.sh & [1] 26490
|
|
Ард ажиллаж байгаа командуудыг харах# jobs [1]+ Stopped bin/backup-files.sh
|
|
Ажиллуулсан командуудынхаа түүхийг үзэх# history 1 echo $SHELL 2 whereis cp 3 pwd 4 file pauker.pau.gz 5 head -n 5 TUTORIAL~ 6 cp dic.txt dic-new.txt 7 cat dic.txt 8 vi dic-new.txt 9 diff dic.txt dic-new.txt ....
|
|
Файл байхгүй бол үүсгэхДискний сул зайг харах# df -h Filesystem Size Used Avail Use% Mounted on /dev/hda2 13G 7.6G 4.5G 63% / udev 506M 152K 506M 1% /dev /dev/hda3 51G 25G 26G 49% /home /dev/hdb1 38G 25G 2.2G 92% /mnt/FAT32 |
|
Директори доторхи файлуудыг хэмжээгээр нь буурах эрэмбээр жагсаах# du -sh archive/* | sort -nrk 1 859M archive/nihongo 303M archive/photo 277M archive/lessons 233M archive/install 1.8G archive/books |
|
Бичсэн скриптдээ ажиллах зөвшөөрөл тавих# chmod u+x scripts/upload.sh |
|
Тооны тооллыг хөрвүүлж харах# echo 'obase=10; ibase=16; E59' | bc 3673
|
|
Олон мөр оролтДиректорын бүтцийг ганц командаар үүсгэх# mkdir -p project/{lib/ext,bin,src,doc/{html,txt,pdf},demo/stat/a} |
|
Директорийг архивлах# tar cvf /tmp/archive.tar archive |
|
Файлыг шахахАрхивийн файлыг сонгосон директори луу задлах# tar xvf -C dest/to/extract archive.tar.gz |
|
Эхний команд тэг утга буцаасан тохиолдолд дараагийн команд ажиллана# cd directory/exists && tar xvf ~/archive.tar |
|
Эхний команд тэг биш утга буцаавал дараагийнх ажиллана# cd directory/not/exists || mkdir -p directory/not/exists |
|
Директори байхгүй бол үүсгээд архивийг задлана# cd dest/dir || mkdir -p dest/dir && tar xvf -C dest/dir ~/archive.tar |
|
Урт командыг арагш ташуу зураасаар хуваах# cd dest/to/extract || \ > mkdir -p est/to/extract && \ > tar xvf -C est/to/extract ~/archive.tar |
|
Зарим командуудыг дэд шелд ажиллуулаад гаралтыг admin руу мэйлдэх# ( cd dest/to/extract/ || mkdir -p dest/to/extract && \ > VAR=$PWD; cd ~; tar xvf -C $VAR archive.tar ) \ > | mailx admin -S "Archive contents" |
|
Зарим командуудыг бүлэглэж ажиллуулаад гаралтыг admin руу мэйлдэх# { cp ${VAR}a . && chown -R guest.guest a && \ > tar cvf newarchive.tar a; } | mailx admin -S "New archive" |
|
Эхний командаар гарч ирэх жагсаалтууд дээр өөр команд ажиллуулах# ls -1 | xargs file bin: directory desk-books: directory Desktop: directory diagrams: directory dic-new.txt: UTF-8 Unicode text dic.txt: UTF-8 Unicode text |
|
Файл дотроос текст хайх# grep implement TUTORIAL.txt On systems which do not implement suspending, C-z creates a subshell function which implements the C-p command. |
|
Файл дотроос хайхдаа regular expression ашиглах# grep ^The TUTORIAL.txt The characters ">>" at the left margin indicate directions for you to The first thing that you need to know is how to move around from place The following commands are useful for viewing screenfuls: There are several ways you can do this. You can use the arrow keys, The location of the cursor in the text is also called "point". To There is a whole series of commands that start with CONTROL-x; many of .......
|
|
wc хэрэглэлгүйгээр файл дотор хайсан текст хэдэн мөрөнд байгааг тоолох# grep -c ^The TUTORIAL.txt 30
|
|
awk ашиглаж багана сонгож харах# ls -l | awk '{print $3 " " $8 }'
ochiro bin ochiro desk-books ochiro Desktop ochiro diagrams ochiro dic-new.txt ochiro dic.txt ........
|
|
Сонгосон баганаас хайх# ls --time-style=locale -l | awk '$6 == "Mar"' drwxr-xr-x 11 ochiro users 3064 Mar 1 14:34 desk-books drwxr-xr-x 2 ochiro users 784 Mar 2 09:53 Desktop -rw-r--r-- 1 ochiro users 13 Mar 7 13:55 dic-new.txt drwxr-xr-x 5 ochiro users 2664 Mar 6 10:43 downloads drwxr-xr-x 2 ochiro users 48 Mar 5 13:55 ftpserver drwxrwxrwx 7 ochiro users 400 Mar 5 18:03 wbt |
|
Файл дотроос текст хайж(cursor) солиод(pointer) шинэ файлд хадгалах# sed s/cursor/project_name/g TUTORIAL.txt > TUTORIAL_new.txt |
|
Олон файлаас(*.txt) текст хайж(searchtext) солих(replacetext)# find ./ -name *.txt -type f -exec sed -i 's/searchtext/replacetext/' {} \; |
|
Хамгийн их хэрэглэсэн 10 командаа харах# history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}' \ > |sort|uniq -c|sort -nr|head -10 125 ls 32 su 32 cd 26 vi 25 sudo 23 cat 19 ping 19 netstat 19 exit 18 ps
|
|
Сүүлийн нэг цагийн дотор өөрчөгдсөн файлууд# find ~ -mmin -60 \! -type d /home/ochiro/.thunderbird/Mail/Junk /home/ochiro/.thunderbird/Mail/Sent /home/ochiro/.thunderbird/Mail/Inbox.msf /home/ochiro/.thunderbird/Mail/Drafts /home/ochiro/.thunderbird/Mail/Inbox /home/ochiro/.thunderbird/Mail/Junk.msf /home/ochiro/.thunderbird/Mail/Sent.msf /home/ochiro/.thunderbird/Mail/Drafts.msf /home/ochiro/TUTORIAL_new.txt /home/ochiro/dic.txt |
|
Эх сурвалжууд:
1 comments:
Сайхан гарын авлага болжээ. Цаашид ч гэсэн Юникс програмчлалын талаар илүү их зүйл оруулж байхыг хүсэж байна. Баярлалаа. Энэ програмчлалыг сонирхогчид дээрх авлага дээрх нэг командыг хэрхэн ажиллахыг тайлбарлая. Нилээн сүүл хэсэгт байгаа sed 's/cursor/project_name/g' TUTORIAL.txt >TUTORIAL_new.txt
код ингэж бичвэл ажиллаж байна.Тайлбарлавал TUTORIAL.txt файл дотор орших cursor гэсэн үг бүрийг project_name гэсэн нэрээр солиод TUTORIAL_new.txt файл шинээр үүсгэж дотор нь хадгалж байгаа юм.
Post a Comment