banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Vài ngày học một lệnh (hoặc một tiện ích) trong Linux  XML
  [Question]   Re: Vài ngày học một lệnh Linux 23/06/2008 05:51:03 (+0700) | #31 | 136954
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
38. enca & enconv
Detect and convert encoding of text files

Code:
enca [-L LANGUAGE] [OPTION]... [FILE]...
enconv [-L LANGUAGE] [OPTION]... [FILE]...


Tôi dùng Vim để soạn thảo một file tiếng Việt. Ban đầu, việc hiển thị khi gõ cũng khi save và mở lại đều ok. Bỗng nhiên hôm nay mở lại thì bị phần charset bị hỏng, và nội dung không còn hiển thị đúng tiếng Việt, mà thành thế này:
Code:
Bản 5.0
	+ cải thiện performance 5-10 lần
	+ batched read interface
	+ more metadata objects
	+ giảm lượng bộ nhớ
	+ enable query cache


Loay hoay một hồi, tôi cũng tìm được lệnh encaenconv.
- Lệnh enca sẽ cho biết encoding mà file đó sử dụng
- Lệnh enconv dùng để chuyển đổi encoding

Và may mắn, là cuối cùng tôi cũng khôi phục được phần nội dung hiển thị đúng tiếng Việt:
Code:
$ enconv -x UTF-8 -L none < MySQL\ Cluster


Code:
Bản 5.0
	+ cải thiện performance 5-10 lần
	+ batched read interface
	+ more metadata objects
	+ giảm lượng bộ nhớ
	+ enable query cache


Hiện tại vẫn chưa biết nguyên nhân tại sao. Nhưng cũng xin ghi lại solution để anh em nào gặp tình trạng này có thể dùng.



Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 29/06/2008 05:59:33 (+0700) | #32 | 138745
vnpenguin
Elite Member

[Minus]    0    [Plus]
Joined: 15/02/2004 22:51:33
Messages: 82
Location: VNOSS
Offline
[Profile] [PM] [WWW] [Yahoo!]

SuperChicken wrote:
Ví dụ bạn muốn tìm và xóa tất cả các tập tin/thư mục có tên là .svn trong thư mục hiện tại, bạn chỉ cần gõ:

find . -name ".svn" -exec rm -rf {}\;
 

Nếu muốn chỉ xóa tập tin thì thêm -type f vào câu trên. 

Bạn có chắc là lệnh ở ví dụ trên chạy tốt ? smilie
Trong trường hợp filename có khoảng trống (blank) thì có chạy không ?
Trong trường hợp có quá nhiều file (vài trăm nghìn đến khoảng 1 triệu file) thì có chạy được không ?
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 02/07/2008 00:05:48 (+0700) | #33 | 139254
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

vnpenguin wrote:

SuperChicken wrote:
Ví dụ bạn muốn tìm và xóa tất cả các tập tin/thư mục có tên là .svn trong thư mục hiện tại, bạn chỉ cần gõ:

find . -name ".svn" -exec rm -rf {}\;
 

Nếu muốn chỉ xóa tập tin thì thêm -type f vào câu trên. 

Bạn có chắc là lệnh ở ví dụ trên chạy tốt ? smilie
 

Phải có một khoảng trắng ở giữa {}\

vnpenguin wrote:

Trong trường hợp filename có khoảng trống (blank) thì có chạy không ?
 

Không hiểu ý SuperChicken có phải là xóa những files tận cùng bằng .svn. Nếu thế thì sao không rm -fr *.svn nhỉ?

vnpenguin wrote:

Trong trường hợp có quá nhiều file (vài trăm nghìn đến khoảng 1 triệu file) thì có chạy được không ?  

Tôi vừa test với 300000 files, nó chạy hết ... 20 phút.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 02/07/2008 00:50:37 (+0700) | #34 | 139269
LinuXpert
Member

[Minus]    0    [Plus]
Joined: 27/06/2008 18:59:57
Messages: 65
Offline
[Profile] [PM] [WWW]

quanta wrote:

Không hiểu ý SuperChicken có phải là xóa những files tận cùng bằng .svn. Nếu thế thì sao không rm -fr *.svn nhỉ? 


Chính xác là xóa những files tận cùng bằng .svn trong thư mục hiện tại và tất cả các thư mục con. Câu lệnh rm -fr *.svn chỉ xóa file trong thư mục hiện tại. Bổ sung thêm là rm -fr *.svn bị giới hạn số file nên không thể chạy được khi số lượng file .svn quá nhiều.
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 02/07/2008 07:24:52 (+0700) | #35 | 139380
[Avatar]
SuperChicken
Elite Member

[Minus]    0    [Plus]
Joined: 11/07/2006 18:31:27
Messages: 635
Location: bottom of hell
Offline
[Profile] [PM]

quanta wrote:

vnpenguin wrote:

Bạn có chắc là lệnh ở ví dụ trên chạy tốt ? smilie
 

Phải có một khoảng trắng ở giữa {}\ 

Chính xác, hình như là tui gõ thiếu smilie . Còn việc chạy tốt hay không thì tất nhiên tui đã dùng rồi thì mới dám đưa lên chứ, tui vẫn thường dùng cách này để xóa tất cả file của SVN trong 1 thư mục.

quanta wrote:

Không hiểu ý SuperChicken có phải là xóa những files tận cùng bằng .svn. Nếu thế thì sao không rm -fr *.svn nhỉ? 

Cái này thì LinuXpert trả lời rồi đó. Giả sử có 3 thư mục, .svn, abc, def (trong abc, def lại có những thư mục .svn) thì nó sẽ chỉ xóa thư mục .svn ở ngoài thôi, còn mấy thư mục .svn trong abcdef thì nó không xóa.
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 02/07/2008 14:53:55 (+0700) | #36 | 139494
vnpenguin
Elite Member

[Minus]    0    [Plus]
Joined: 15/02/2004 22:51:33
Messages: 82
Location: VNOSS
Offline
[Profile] [PM] [WWW] [Yahoo!]

quanta wrote:
Tôi vừa test với 300000 files, nó chạy hết ... 20 phút.
 

hmm smilie
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 27/08/2008 00:00:40 (+0700) | #37 | 148585
[Avatar]
delangthang
Member

[Minus]    0    [Plus]
Joined: 05/04/2005 19:49:08
Messages: 29
Offline
[Profile] [PM]
Tiêu đề là "vài ngày" mà đã hơn tháng rồi không có update. Hôm nay cho nó up phát.

39. du

Nếu không nhầm thì du = disk usage. Lệnh này để xem dung lượng đã sử dụng của 1 thư mục (đôi khi bạn cũng muốn biết thư mục chứa film của mình được mấy Gb smilie hoặc bạn muốn xem dung lượng của thư mục mình chuẩn bị backup là bao nhiêu để chuẩn bị thiết bị lưu trữ...)
Code:
# du -hs /home
3.5G    /home
# du -hs /etc
92M     /etc
# du -hs /bin
5.2M    /bin

Bạn cũng có thể dùng:
du -sb dir (size in Bytes)
du -sk dir (size in KBytes)
du -sm dir (size in MegaBytes) 

Xem thêm:
http://linux.die.net/man/1/du 
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 27/08/2008 02:21:24 (+0700) | #38 | 148600
danglh
Member

[Minus]    0    [Plus]
Joined: 05/01/2005 05:31:21
Messages: 2
Offline
[Profile] [PM]
40. nohup
Nếu bạn muốn thực hiện một lệnh từ xa, mà lệnh đó chiếm nhiều thời gian ( ví dụ như backup hoặc restore database ), bạn nên dùng nohup:
Code:
# nohup command &


Khi đó trong thời gian thực hiện lệnh, nếu kết nối tới máy chủ của bạn bị ngắt dẫn tới việc terminal thoát ra, thì lệnh command vẫn tiếp tục chạy.
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 27/08/2008 02:48:59 (+0700) | #39 | 148602
myquartz
Member

[Minus]    0    [Plus]
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
[Profile] [PM]
Hì hì, thêm vài lệnh nữa:
41. uptime: cho biết thông tin là máy đã up bao lâu và tải của nó trong vài chục phút gần đây nhất.
Code:
[text@server ~]$ uptime 
 13:32:50 up  4:22,  3 users,  load average: 0.34, 0.32, 0.33


42. xargs: lệnh đổi các dòng trong STDIN thành parameter cho command ở sau. Ví dụ nén tất cả các file trong thư mục hiện thời thành gz (tất nhiên gõ gzip * cũng được).
Code:
# ls | xargs gzip


43. nice: khi chạy 1 ứng dụng nặng nào đó, tốn nhiều CPU, không cần gấp gáp quá, mà không muốn ảnh hưởng tới các foreground process. Nice sẽ đặt trị số NICE của process lên > 0 (nghĩa là giảm độ ưu tiên), tận dụng CPU rảnh rỗi. Nếu kết hợp với nohup nữa thì tuyệt.
Code:
# nice gzip OfficeXpSp3-kb832671-fullfile-enu.exe

Ở một cửa sổ khác, chạy top
Code:
top - 13:44:39 up  4:34,  4 users,  load average: 0.58, 0.62, 0.49
Tasks: 134 total,   2 running, 132 sleeping,   0 stopped,   0 zombie
Cpu(s): 18.5%us,  6.2%sy, 65.7%ni,  0.0%id,  9.0%wa,  0.0%hi,  0.6%si,  0.0%st
Mem:   1025596k total,  1011384k used,    14212k free,    33616k buffers
Swap:   811240k total,       84k used,   811156k free,   505860k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                    
21685 testuser  30  10  2048  572  244 R 64.6  0.1   0:07.12 gzip OfficeXpSp3-kb832671-fullfile-enu.exe                 
 2471 root      20   0  399m  34m  10m S 12.4  3.5  19:44.95 /usr/bin/Xorg :0 -br
12623 testuser  25   5  237m  85m  22m S  3.4  8.5  12:16.84 /usr/lib/firefox-3.0.1/firefox                             
21707 root      20   0  9344 2796 2240 S  1.7  0.3   0:00.03 sshd: unknown [priv]                                       
21709 root      20   0  8556 2256 1824 S  1.7  0.2   0:00.03 sshd: [accepted]
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 12/09/2008 07:39:19 (+0700) | #40 | 150737
[Avatar]
hoahongdenH
Member

[Minus]    0    [Plus]
Joined: 12/09/2007 23:50:41
Messages: 91
Location: Nơi anh đi
Offline
[Profile] [PM]
44. split
lệnh này giúp chúng ta chia nhỏ một tập tin ra theo kích thước định sẵn. ví dụ đơn giản khi bạn có một bộ film có đuôi *.mpg dài 1GB nhưng lại không thể cho ra đĩa trắng (khoảng 700MB) . bạn có thể dùng lệnh này chia nhỏ file film đó ra thành 2 phần mỗi phần khoảng 500MB như sau :
$split -b 500m phim.mpg phim 

nó sẽ chia file phim thanh 2 file là (phimaa và phimab )mỗi file có dung lượng là 500MB.

tham số: tùy chọn -b để xác định dung lượng tập tin tạo ra (được tính theo byete). sau -b là một số và một chữ cái : k (kích thước tính theo KB) hoặc m (tính theo MB). Nếu không đưa ra thông tin này thì mặc định nó sẽ là 1MB.

sau khi chia bộ phim đó được chia ra làm 2 file là phimaa và phimab thì các bạn sao ra 2 đĩa và sang một máy linux khác để dùng ghép 2 file phim này vào thành file ban đâu :

$cat phim* > phim.mpg 

[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 12/09/2008 07:53:21 (+0700) | #41 | 150738
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Tiêu đề là "vài ngày" mà đã hơn tháng rồi không có update. Hôm nay cho nó up phát.

39. du
...
 


42. xargs: lệnh đổi các dòng trong STDIN thành parameter cho command ở sau
 

Sắp xếp giảm dần theo kích cỡ của các file trong 1 thư mục:
Code:
$ du -s * | sort -rn
10884	LPIC-1.Linux.Professional.Institute.Certification.Study.Guide._Level1.Exams.101.and.102_.pdf
5476	Linux Professional Institute (LPI) Certification Bible.pdf
3100	117-101
2472	117-201
2352	OReilly.LPI.Linux.Certification.in.a.Nutshell.2nd.Edition.Jul.2006.chm
1872	117-102
1052	117-202
564	Linux Professional Institute (LPI) Certification Level 1.pdf
548	Testking LPI
72	Appendix G.pdf 
8	Incorrect Answer.otl
4	questions.otl


Sort by human-readable:
Code:
$ du -s * | sort -rn | cut -f2 | xargs -d '\n' du -sh
11M	LPIC-1.Linux.Professional.Institute.Certification.Study.Guide._Level1.Exams.101.and.102_.pdf
5.4M	Linux Professional Institute (LPI) Certification Bible.pdf
3.1M	117-101
2.5M	117-201
2.3M	OReilly.LPI.Linux.Certification.in.a.Nutshell.2nd.Edition.Jul.2006.chm
1.9M	117-102
1.1M	117-202
564K	Linux Professional Institute (LPI) Certification Level 1.pdf
548K	Testking LPI
72K	Appendix G.pdf 
8.0K	Incorrect Answer.otl
4.0K	questions.otl
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 12/09/2008 08:12:16 (+0700) | #42 | 150740
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
44. split
lệnh này giúp chúng ta chia nhỏ một tập tin ra theo kích thước định sẵn ...
 

Để PREFIX là số thay vì chữ:
Code:
$ du -sh Open\ source\ Security\ Tools.pdf 
13M	Open source Security Tools.pdf

Code:
$ split -b 5m -d Open\ source\ Security\ Tools.pdf Open\ source\ Security\ Tools.

Code:
$ du -sh *
5.1M	Open source Security Tools.00
5.1M	Open source Security Tools.01
2.8M	Open source Security Tools.02
13M	Open source Security Tools.pdf

Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 08/10/2008 11:51:00 (+0700) | #43 | 154378
[Avatar]
delangthang
Member

[Minus]    0    [Plus]
Joined: 05/04/2005 19:49:08
Messages: 29
Offline
[Profile] [PM]

thangdiablo wrote:
Lão nào control cái box này PIN bài lên nhé. 

Không ai PIN thì tớ cho nó up tiếp vậy.
Nhớ hồi mới mày mò Linux, tải về mấy gói source để cài đặt, chúng được nén dạng gz, bz2 gì đó, phải kiếm winrar để giải nén trên window$ rồi hì hục chép qua máy linux. hix, ngu thế không biết.
45.tar
Cái này để nén và giải nén đây
Code:
$ tar --help
GNU `tar' saves many files together into a single tape or disk archive, and
can restore individual files from the archive.

Usage: tar [OPTION]... [FILE]...

Examples:
  tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.
  tar -tvf archive.tar         # List all files in archive.tar verbosely.
  tar -xf archive.tar          # Extract all files from archive.tar.

VD:
Code:
$ tar -xvjf httpd-2.2.9.tar.bz2

Các option thường sử dụng:
x: giải nén.
v: liệt kê các file được bung ra trong quá trình giải nén
f: khi giải nén 1 file thì phải có option này.
j: file được giải nén có đuôi là .bz2. Trong trường hợp các định dạng file khác thì thay thế cho phù hợp (z: file.gz, Z: file.Z...). file.tar thì như ví dụ trong phần help trên.
VD giải nén 1 file.gz:
Code:
$ tar -xvzf mysql-5.0.67.tar.gz

-c: nén thành file:
Code:
$ tar -cvfj /mnt/usb/doc.bz2 ~/documents

Nén thư mục documents trong thư mục home của tui thành file doc.bz2 lưu trong /mnt/usb
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 09/10/2008 00:36:49 (+0700) | #44 | 154441
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

lihavim wrote:

quanta wrote:
31. pushd và popd

Đôi khi bạn thường xuyên phải làm việc với vài thư mục có đường dẫn khá dài. Lệnh cd có thể chuyển qua lại giữa chúng, nhưng có một cách nhanh hơn đó là dùng pushdpopd. 2 lệnh này sẽ tạo ra một ngăn xếp thư mục ảo (Virtual directory stack):
+ pushd: thay đổi thư mục hiện tại và đưa thư mục bạn sẽ đến vào stack
+ popd: lấy thư mục ở đỉnh ra khỏi stack và đưa bạn đến thư mục kế tiếp trong stack

 

Hoặc có thể dùng alias dùng cho nhanh.
Ví dụ, muốn tạo 2 thằng đến 2 thư mục /path/to/Ebooks và /path/to/packages:
Code:
alias 2book="cd /path/to/Ebooks"
alias 2pac="cd /path/to/packages"


Khi nào cần chuyển đến thư mục chứa Ebook, đơn giản là nhấn 2book smilie

Vài alias tôi dùng trên máy (bạn có thể tùy ý sáng tạo):

1. Cho normal user:
Code:
alias ..='cd ..'
alias ...='cd ../../'
alias cl='clear'
alias df='df -h'
alias l='cd /mnt/data/linux'
alias p='cd /mnt/data/linux/packages' 
alias c='cd /mnt/data/linux/code'
alias e='cd /mnt/data/linux/ebooks'
alias t='cd /mnt/data/linux/To\ do\ write'
alias v1='cd /mnt/data/Video'
alias tcs='cd /mnt/data/Music/01_TrinhCongSon/'
alias v2='cd /home/quanta/Video'
alias m='cd /mnt/data/Music'
alias v='vnstat $1'
alias h='history'
alias trim='grep -v "^#" $1 | sed "/^$/d"'
alias mk='mkdir'
alias j='job -l'
alias f='freemind'
alias ff='firefox &'
alias s='skype &'
alias t='cd /mnt/data/linux/To\ do\ write'
alias x='xvnkb --method=telex --charset=utf8'
alias v='VBoxManage'
alias a='aria2c $1'


2. Cho root:
Code:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias h='history'
alias cdrom='mount /dev/sr0 /mnt/cdrom'
alias log='tail -f /var/log/messages'
alias trim='grep -v "^#" $1 | sed "/^$/d"'
alias s='service $1 $2'
alias openports='netstat -nape --inet'
alias psx='ps -auxw | grep $1'
alias b='echo $2 > /sys/devices/virtual/backlight/sony/brightness'
alias v='vnstat $1'
alias pt='powertop'
alias n='netstat $1'
alias r='route $1'
alias e='exit'
alias t='tail -f $1'


Sau khi thêm những dòng này vào ~/.bashrc, để có thể dùng luôn, các bạn cần gõ lệnh:
Code:
$ . ~/.bashrc

hoặc:
Code:
$ source ~/.bashrc
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re:Vài ngày học một lệnh Linux 17/10/2008 00:56:57 (+0700) | #45 | 155472
[Avatar]
JFS
Member

[Minus]    0    [Plus]
Joined: 22/03/2004 22:27:38
Messages: 192
Location: ----------d
Offline
[Profile] [PM]
Lệnh để runlevels :
Syntax:
init [Options]

Options ----------------------------------- Chức năng sử dụng
0 --------------- Tắt máy
1 --------------- Chế độ một người dùng (Single -User) sử dụng khi backup và recovery
2 --------------- Không sử dụng
3 --------------- Đa người dùng có hỗ trợ net work và text login
4 --------------- Không sử dụng
5 --------------- Đa người dùng hỗ trợ network và graphic
6 --------------- Restart

Chú ý : giữa init và options có khoảng trắng .

-jfs



sugarCRM
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 19/11/2008 05:00:32 (+0700) | #46 | 159371
Crunch
Member

[Minus]    0    [Plus]
Joined: 02/07/2008 03:41:11
Messages: 50
Offline
[Profile] [PM]
46. Xem trạng thái battery của laptop

$ cd /proc/acpi/battery/BAT1

Xem các thông số sản xuất và hiện tại pin đã "thoái hóa" tới mức nào
/proc/acpi/batterry/BAT1$ cat info
present: yes
design capacity: 4000 mAh
last full capacity: 3421 mAh
battery technology: rechargeable
design voltage: 11100 mV
design capacity warning: 300 mAh
design capacity low: 136 mAh
capacity granularity 1: 32 mAh
capacity granularity 2: 32 mAh
model number: PRESPAL
serial number: 24966
battery type: LION
OEM info: PANASONIC
 


Tình trạng hiện tại
/proc/acpi/batterry/BAT1$ cat state
present: yes
capacity state: ok
charging state: discharging
present rate: 1896 mA
remaining capacity: 3063 mAh
present voltage: 11864 mV 
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 20/11/2008 02:26:11 (+0700) | #47 | 159480
Crunch
Member

[Minus]    0    [Plus]
Joined: 02/07/2008 03:41:11
Messages: 50
Offline
[Profile] [PM]
47. calendar
Một số sự kiện nổi bật trên thế giới trong ngày hiện tại và ngày kế tiếp

$ calendar
Code:
Nov 19 	Gettysburg Address delivered, 1863
Nov 19 	Anniversary of the 1968 Coup by the Army in Mali
Nov 19 	Discovery Day in Puerto Rico
Nov 19 	Feast Day of S.A.S. Prince Rainier in Monaco
Nov 19 	Garifuna Settlement in Belize
Nov 19*	Day of Prayer and Repentance (Buss- und Bettag) in Federal Republic of Germany
Nov 19 	N'oubliez pas les Tanguy !
Nov 19 	Bonne fête aux Tanneguy !
Nov 19 	Aujourd'hui, c'est la St(e) Mechtilde.
Nov 19 	N'oubliez pas les Mathilde !
Nov 19 	Bonne fête aux Patrocle !
Nov 19 	Sainte Élisabeth nous montre quel bonhomme sera l'hiver.
Nov 19 	День ракетных войск и артиллерии
Nov 20 	Robert Francis Kennedy (RFK) born in Boston, Massachusetts, 1925
Nov 20 	Revolution Day in Mexico
Nov 20 	Duane Allman is born in Nashville, Tennessee, 1946
Nov 20 	Joe Walsh is born in Cleveland, 1947
Nov 20 	Aujourd'hui, c'est la St(e) Edmond.
Nov 20 	N'oubliez pas les Octave !
Nov 20 	Bonne fête aux Adventor !
Nov 20 	Aujourd'hui, c'est la St(e) Solutor.
Nov 20 	N'oubliez pas les Ambroise !
Nov 20 	Bonne fête aux Rutus !
Nov 20 	Combate de la Vuelta de Obligado, 1845

Xem các sự kiện trong ngày 02 và 03 tháng 09
$ calendar -t 02.09
Code:
Sep 02 	Great Britain adopts Gregorian Calendar, 1752
Sep 02 	Japan signs unconditional surrender on US battleship `Missouri', 1945
Sep 02 	N'oubliez pas les Ingrid !
Sep 02 	Nace en Buenos Aires el escritor Esteban Echeverría, 1805
Sep 02 	Muere Bernardino Rivadavia, primer presidente argentino, 1845
Sep 03 	Richard ``the Lionheart'' crowned king of England, 1189
Sep 03 	Anniversary of the Founding of the Republic in San Marino
Sep 03 	Independence Day in Qatar
Sep 03 	Memorial Day in Tunisia
Sep 03 	Bonne fête aux Grégoire !
Sep 03 	Kriegserklärung Großbritaniens und Frankreichs an Deutschland, 1939
Sep 03 	Vier-Mächte-Abkommen über Berlin, 1971
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 02/12/2008 11:14:13 (+0700) | #48 | 160999
Destiny3986
Member

[Minus]    0    [Plus]
Joined: 22/11/2007 23:54:52
Messages: 21
Offline
[Profile] [PM]
Code:
root@GantzPC:~# calendar -t 11.9     
Sep 11 	Terrorists destroy World Trade Center in New York, 2001
Sep 11 	Anniversary of military coup in Chile
Sep 11 	Ethiopian New Year in Ethiopia
Sep 11 	National Holiday in Chile
Sep 11 	Aujourd'hui, c'est la St(e) Adelphe.
Sep 11 	Tu peux semer sans crainte
	Quand arrive la saint Hyacinthe.
Sep 12 	Jesse Owens born, 1913
Sep 12 	German paratroopers rescue Mussolini from captivity, 1943
Sep 12 	Germany annexes Sudetenland, 1938
Sep 12 	Amilcar Cabral's Birthday in Guinea-Bissau
Sep 12 	Defender's Day in Maryland
Sep 12 	Revolution Day in Ethiopia
Sep 12 	N'oubliez pas les Apollinaire !


Trong ubuntu có lệnh này.
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 04/12/2008 04:02:32 (+0700) | #49 | 161204
[Avatar]
XelNaga
Member

[Minus]    0    [Plus]
Joined: 31/08/2006 23:14:41
Messages: 43
Offline
[Profile] [PM] [Email] [Yahoo!]

Destiny3986 wrote:

Trong ubuntu có lệnh này. 

trong Fedora ko có smilie
=======================================

Xem và thay đổi cấu hình card mạng với ethtool ethX
- VD: xem thông tin firmware eth0
Code:
$ ethtool -i eth0
driver: b44
version: 2.0
firmware-version: 
bus-info: 0000:03:00.0
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 05/12/2008 13:35:59 (+0700) | #50 | 161405
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
48, 49. gconf-editor và gconftool-2

Code:
Name       : gconf-editor
Arch       : i386
Version    : 2.22.0
Release    : 1.fc9
Size       : 1.4 M
Repo       : installed
Summary    : Editor/admin tool for GConf
URL        : http://www.gnome.org
License    : GPLv2+ and GFDL
Description: gconf-editor allows you to browse and modify GConf configuration sources.


gconftool-2 - làm việc với gconf-editor từ command line 


Ví dụ:

1. Dùng tổ hợp phím Windows + E để mở nautilus:

- Từ Terminal, bạn gõ: gconf-editor
- Tìm theo đường dẫn /apps/metacity/global_keybindings, nhấp đúp vào run_command_1, nhập vào giá trị <Mod4>E.
- Chuyển sang /apps/metacity/keybinding_commands, nhấp đúp vào command_1, nhập vào nautilus

2. Dùng tổ hợp phím Alt + L để khoá màn hình

Code:
$ gconftool-2 --type string --set /apps/metacity/global_keybindings/run_command_2 "<Alt>L"
$ gconftool-2 --type string --set /apps/metacity/keybinding_commands/command_2 "gnome-screensaver-command --lock"


3. Alt + X để chạy xvnkb
Code:
$ gconftool-2 -t string -s /apps/metacity/global_keybindings/run_command_3 "<Alt>X"
$ gconftool-2 -t string -s /apps/metacity/keybinding_commands/command_3 "xvnkb --method=telex --charset=utf8"

...

Bạn thử enable remote desktop bằng command line xem?
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 05/12/2008 15:22:41 (+0700) | #51 | 161411
mR.Bi
Member

[Minus]    0    [Plus]
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
[Profile] [PM] [WWW]
Bạn thử enable remote desktop bằng command line xem? 

Code:
gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true


Để disable thì sửa giá trị true thành false

Để disable confirmation request (connect là vào luôn)

Code:
gconftool-2 -s -t bool /desktop/gnome/remote_access/prompt_enabled false

Đã thử trên Fedora 9
Thói quen google smilie , ở bài viết này tác giả gọi đây là "dirty way", không hiểu vì sao. Em google cũng là "dirty way".
http://sidrit.wordpress.com/2008/08/03/enable-remote-desktop-on-ubuntu-from-command-line/
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children"
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 06/12/2008 12:48:25 (+0700) | #52 | 161507
mR.Bi
Member

[Minus]    0    [Plus]
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
[Profile] [PM] [WWW]
50. Clear

Dùng để Clear Console sreen (xoá trắng màn hình)

Code:
$ clear


51. mpstat

Dùng để in ra trạng thái của cpu: user, idle, sys, iowait.. và các số liệu liên quan.


Code:
# mpstat 
Linux 2.6.18-92.el5  (s1.xyz.com)                   12/05/2008

09:38:26 AM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
09:38:26 AM  all   13.98    0.05   15.57    2.45    0.02    0.60    0.00   67.34   2426.45


Để xem trang thái của tất cả các cpu:

Code:
# mpstat -P ALL

Linux 2.6.18-92.el5  (s1.xyz.com)                   12/05/2008

09:47:16 AM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
09:47:16 AM  all   13.98    0.05   15.53    2.44    0.02    0.60    0.00   67.38   2429.00
09:47:16 AM    0   10.98    0.04   15.04    1.83    0.00    0.35    0.00   71.76   1000.99
09:47:16 AM    1   10.75    0.12   14.08    5.46    0.01    0.37    0.00   69.22     64.27
09:47:16 AM    2   12.08    0.04   15.15    1.84    0.00    0.47    0.00   70.41      0.00
09:47:16 AM    3   12.94    0.05   15.75    2.08    0.00    0.43    0.00   68.74     13.53
09:47:16 AM    4   11.87    0.05   16.69    2.50    0.01    0.32    0.00   68.57     30.14
09:47:16 AM    5   14.01    0.04   13.71    1.81    0.00    0.29    0.00   70.13      0.49
09:47:16 AM    6   13.62    0.03   18.13    1.76    0.00    0.41    0.00   66.05     24.52
09:47:16 AM    7   25.55    0.01   15.74    2.26    0.16    2.16    0.00   54.13   1295.06


Hnay xài 2 lệnh này hơi bị nhiều smilie
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children"
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 13/01/2009 02:47:18 (+0700) | #53 | 166211
[Avatar]
asaxin
Member

[Minus]    0    [Plus]
Joined: 24/06/2007 13:11:27
Messages: 30
Offline
[Profile] [PM]
Có bao giờ bạn thắc mắc tại sao bạn phải gõ:

Code:
$/sbin/ifconfig


hay các lệnh tương tự như vậy mới thực hiện, trong khi người khác chỉ cần gõ:

Code:
$ifconfig


Đó là vì biến PATH của bạn chưa có đường dẫn đến lệnh này:

Code:
$echo $PATH
/usr/kerberos/bin:/usr/local/bin:/usr/bin


để thêm đường dẫn này vào bạn gõ:

Code:
$PATH=$PATH:/sbin

$echo $PATH
/usr/kerberos/bin:/usr/local/bin:/usr/bin:/sbin
No Signature
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 16/01/2009 12:28:36 (+0700) | #54 | 166685
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
52. piping (|) and sed

pipe (|) sẽ chuyển output của một lệnh thành standard input của lệnh sau đó.
sed: là một công cụ stream editor cho phép chỉnh sửa ngay trên input

Chúng ta sẽ kết hợp 2 lệnh này để thực hiện một phép http://6v8.gamboni.org/Mass-renaming-with-linux-shell.html.

Ví dụ: đổi tất cả các file trong thư mục hiện tại có đuôi là *.otl (phần mở rộng của http://www.sourcefiles.org/Editors/vi/vimoutliner-0.3.4.tar.gz.shtml) thành *.txt:
Code:
$ ls -d *.otl | sed 's/\(.*\).otl$/mv "&" "\1.txt"/' | sh


P/S: phần giải thích chi tiết đã có ở đường liên kết phía trên.

53. Xem những lệnh được sử dụng nhiều nhất
Code:
$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head


Chúng ta sẽ giải thích từng lệnh rõ hơn:

1. history: hiển thị các lệnh bạn đã từng thực hiện. Lệnh này chia thành 2 cột: cột đầu tiên hiển thị số thứ tự của lệnh, cột thứ 2 hiển thị tên lệnh.

2. awk '{print $2}': cắt lấy cột thứ 2 - tức là tên lệnh

3. sort: sắp xếp lại các lệnh này (các lệnh giống nhau sẽ đứng gần nhau)

4. uniq -c: đếm và loại bỏ các lệnh giống nhau

5. sort -rn: sắp xếp lại theo giá trị số từ cao đến thấp

6. head: lấy 10 lệnh đầu tiên có số lần sử dụng nhiều nhất

Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 17/01/2009 05:44:48 (+0700) | #55 | 166776
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
54. dmidecode - đọc bảng DMI của hệ thống và hiển thị thông tin về phần cứng và BIOS

Ngoài /proc/cpuinfo, /proc/meminfo, lshw, ... lệnh này sẽ hữu ích trong một số trường hợp.

DMI là viết tắt của từ Desktop Management Interface - dùng để quản lý và theo dõi các thành phần trên máy tính. Đọc thêm tại: http://www.dmtf.org/standards/dmi/

Một bản ghi trong bảng DMI có dạng:
Code:
Record Header: Handle {record id}, DMI type {dmi type id}, {record size} bytes
Record Value: {multi line record value}

record id: định danh duy nhất cho bản ghi
dmi type id: loại bản ghi
record size: kích cỡ của bản ghi
multi line record value: giá trị bản ghi cho một loại DMI xác định

Vài ví dụ:

Thông tin về BIOS:
Code:
# dmidecode -t bios
# dmidecode 2.9
SMBIOS 2.4 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
	Vendor: Phoenix Technologies LTD
	Version: R0070J4
	Release Date: 12/06/2006
	Address: 0xE7210
	Runtime Size: 101872 bytes
	ROM Size: 1024 kB
	Characteristics:
		PCI is supported
		PC Card (PCMCIA) is supported
		PNP is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		ESCD support is available
		Boot from CD is supported
		Selectable boot is supported
		EDD is supported
		8042 keyboard services are supported (int 9h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		USB legacy is supported
		AGP is supported
		Smart battery is supported
		BIOS boot specification is supported
		Function key-initiated network boot is supported
		Targeted content distribution is supported
	BIOS Revision: 7.0
	Firmware Revision: 7.0


Thông tin về hệ thống:
Code:
# dmidecode -t 1
# dmidecode 2.9
SMBIOS 2.4 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: Sony Corporation
	Product Name: VGN-N230E
	Version: C3LNME3Z
	Serial Number: 28249635-3008138
	UUID: 7C1A72A0-B4E7-11DB-893E-0013A94F8444
	Wake-up Type: Power Switch
	SKU Number: N/A
	Family: N/A


Thông tin về bộ xử lý:
Code:
# dmidecode -t Processor
# dmidecode 2.9
SMBIOS 2.4 present.

Handle 0x0004, DMI type 4, 35 bytes
Processor Information
	Socket Designation: N/A
	Type: Central Processor
	Family: Other
	Manufacturer: GenuineIntel
	ID: E8 06 00 00 FF FB E9 BF
	Version: Genuine Intel(R) CPU           T2250  @ 1.73GHz
	Voltage: 1.3 V
	External Clock: 133 MHz
	Max Speed: 1733 MHz
	Current Speed: 1733 MHz
	Status: Populated, Enabled
	Upgrade: None
	L1 Cache Handle: 0x0005
	L2 Cache Handle: 0x0006
	L3 Cache Handle: 0x0007
	Serial Number: N/A
	Asset Tag: N/A
	Part Number: N/A


Thông tin về RAM: có bao nhiêu thanh, lượng RAM lớn nhất hỗ trợ, ...
Code:
# dmidecode -t memory
# dmidecode 2.9
SMBIOS 2.4 present.

Handle 0x0009, DMI type 16, 15 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 2048 GB
	Error Information Handle: Not Provided
	Number Of Devices: 2

Handle 0x000A, DMI type 17, 21 bytes
Memory Device
	Array Handle: 0x0009
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 1024 MB
	Form Factor: SODIMM
	Set: None
	Locator: SODIMM1
	Bank Locator: Bank 0
	Type: DDR2
	Type Detail: Unknown

Handle 0x000B, DMI type 17, 21 bytes
Memory Device
	Array Handle: 0x0009
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 1024 MB
	Form Factor: SODIMM
	Set: None
	Locator: SODIMM2
	Bank Locator: Bank 1
	Type: DDR2
	Type Detail: Unknown


Các loại DMI:
Code:
Type   Information
       ----------------------------------------
          0   BIOS
          1   System
          2   Base Board
          3   Chassis
          4   Processor
          5   Memory Controller
          6   Memory Module
          7   Cache
          8   Port Connector
          9   System Slots
         10   On Board Devices
         11   OEM Strings
         12   System Configuration Options
         13   BIOS Language
         14   Group Associations
         15   System Event Log
         16   Physical Memory Array
         17   Memory Device
         18   32-bit Memory Error
         19   Memory Array Mapped Address
         20   Memory Device Mapped Address
         21   Built-in Pointing Device
         22   Portable Battery
         23   System Reset
         24   Hardware Security
         25   System Power Controls
         26   Voltage Probe
         27   Cooling Device
         28   Temperature Probe
         29   Electrical Current Probe
         30   Out-of-band Remote Access
         31   Boot Integrity Services
         32   System Boot
         33   64-bit Memory Error
         34   Management Device
         35   Management Device Component
         36   Management Device Threshold Data
         37   Memory Channel
         38   IPMI Device
         39   Power Supply
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Vài ngày học một lệnh Linux 17/01/2009 07:30:51 (+0700) | #56 | 166793
8668
Member

[Minus]    0    [Plus]
Joined: 25/06/2008 18:30:36
Messages: 24
Offline
[Profile] [PM]
Hiển thị các thời gian của các lệnh đã dùng.

Code:
# export HISTTIMEFORMAT=’%F %T ‘
# history | more


[Up] [Print Copy]
  [Question]   Script watermark hàng loạt ảnh trong một thư mục 05/02/2009 14:37:35 (+0700) | #57 | 168281
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Đầu tiên các bạn cần cài ImageMagick:
Code:
$ yum info ImageMagick
Installed Packages
Name       : ImageMagick
Arch       : i386
Version    : 6.4.0.10
Release    : 2.fc10
Size       : 27 M
Repo       : installed
Summary    : An X application for displaying and manipulating images
URL        : http://www.imagemagick.org/
License    : ImageMagick
Description: ImageMagick(TM) is an image display and manipulation tool for the X Window System. ImageMagick can read and write
           : JPEG, TIFF, PNM, GIF, and Photo CD image formats. It can resize, rotate, sharpen, color reduce, or add special
           : effects to an image, and when finished you can either save the completed work in the original format or a
           : different one. ImageMagick also includes command line programs for creating animated or transparent .gifs,
           : creating composite images, creating thumbnail images, and more.  ImageMagick is one of your choices if you need a
           : program to manipulate and display images. If you want to develop your own applications which use ImageMagick code
           : or APIs, you need to install ImageMagick-devel as well.

Giả sử bạn có hàng loạt ảnh có kích thước giống nhau là 1944x2592, ngang dọc đủ cả, nằm trong một folder. Muốn tạo dấu ấn bằng text ở góc dưới bên phải cho hàng loạt ảnh này, bạn có thể chạy một lệnh như sau:
Code:
$ for img in *; do mogrify -verbose -font /usr/share/fonts/msttcorefonts/verdana.ttf -pointsize 50 -draw "gravity SouthEast fill gray text 0,0 'Photographed by: quanta'" $img; done

Muốn dòng text này lùi vào một chút, bạn có thể dùng:
Code:
$ for img in *; do mogrify -verbose -font /usr/share/fonts/msttcorefonts/verdana.ttf -pointsize 50 -draw "fill gray text $((`identify -format '%w' $img` - `echo "Photographed by: quanta" | wc -c` * 27 - 34)),$((`identify -format '%h' $img` - 34)) 'Photographed by: quanta'" $img; done


Mời các bạn thử mở rộng ra một số trường hợp như:
- ảnh có kích thước tuỳ ý
- watermark bằng một ảnh khác
- ...
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Re: Script watermark hàng loạt ảnh trong một thư mục 06/02/2009 03:32:02 (+0700) | #58 | 168336
lamer
Elite Member

[Minus]    0    [Plus]
Joined: 26/02/2008 13:28:49
Messages: 215
Offline
[Profile] [PM]
Watermark có hai nghĩa:

1. Hình chìm thấy được

2. Dữ liệu ẩn (steganography) để đánh dấu (ví dụ như cái dấu hiệu ở góc phải tấm Declaration of Independence trong film National Treasure đó)

Cái này có lẽ là theo nghĩa 1.
[Up] [Print Copy]
  [Question]   Re: Script watermark hàng loạt ảnh trong một thư mục 06/02/2009 04:20:16 (+0700) | #59 | 168344
[Avatar]
Z0rr0
Q+WRtaW5pc3RyYXRvc+g

Joined: 14/08/2002 12:52:01
Messages: 1323
Location: Underground
Offline
[Profile] [PM] [WWW] [Yahoo!]
Bản thân từ steganos có nghĩa là che đi (covered), trong khi watermark là phải thấy được. Nên tui nghĩ không thể hiểu watermark là steganography được đâu anh lamer. Ý nghĩa khác nhau hoàn toàn smilie
Hibernating
[Up] [Print Copy]
  [Question]   Re: Script watermark hàng loạt ảnh trong một thư mục 06/02/2009 04:59:40 (+0700) | #60 | 168350
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

lamer wrote:
Watermark có hai nghĩa:

1. Hình chìm thấy được

2. Dữ liệu ẩn (steganography) để đánh dấu (ví dụ như cái dấu hiệu ở góc phải tấm Declaration of Independence trong film National Treasure đó)

Cái này có lẽ là theo nghĩa 1. 

Bác khoanh đỏ cái dấu hiệu trên tấm hình đó giùm mình được không? Mình nghĩ rằng đã gọi là "steganography" thì phải là "invisible watermarking" chứ nhỉ?

Ngoài lề là các bạn có thể dùng http://steghide.sourceforge.net/index.php để làm việc này:
Code:
Name       : steghide
Arch       : i386
Version    : 0.5.1
Release    : 9.fc9
Size       : 488 k
Repo       : installed
Summary    : A steganography program
URL        : http://steghide.sourceforge.net
License    : GPLv2
Description: Steghide is a steganography program that is able to hide data in various kinds of image- and audio-files. The
           : color- respectivly sample-frequencies are not changed thus making the embedding resistant against first-order
           : statistical tests. Features of steghide include compression and encryption of embedded data,  embedding of a
           : checksum to verify the integrity of the extracted data and support for jpeg, bmp, wav and au files.
Let's build on a great foundation!
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
2 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|