Chụp screenshot
Nguồn gốc tên gọi và cách phát âm Linux
Liên kết cứng và liên kết mềm
Tách tập tin từ RPM
umask
Tìm tập tin có kích thước lớn
Xem utf-8 trong console
Map bàn phím sang dvorak
Chơi CD nhạc với xmms
Thay đổi ngày giờ tạo (sửa đổi) tập tin
USB camera
Sử dụng đĩa MO với đầu đọc USB
mc trong xterm với large/huge
font
mount 777
Thí dụ về sambamount
Sơ lược về ghi CD
Cài đặt XFce 4 trên SuSE 8.2
Các link cho SUSE rpm
Cài gaim 0.79 trên SUSE 9.1
Ghi rtsp với mplayer
Cài lại gói chưa update trong SUSE
Khởi động phiên X11 thứ hai
Tắt/bật tiếng beep
Việt hoá ứng dụng với gettext
Mẹo vi: cho kết quả lệnh date giữa dòng
Tiết kiệm không gian đĩa của Windows XP (dùng với VMWare)
Xem các dịch vụ nào đang chạy
Cắt và nối tập tin
Ghi âm thanh
Wget tip: download tập tin trong thư mục được Apache liệt kê
Wget tip: script download các tập tin có thứ tự trong thư mục
Wget tip: download hồi quy
Sơ lược về quản lí Postfix queue
Sơ lược về in ấn
Sử dụng bàn phím tiếng Nhật trong X.org
Script gõ tiếng Nhật
Script đổi tên tập tin sang chữ thường
Cho phép người dùng sử dụng một thiết bị
Cho phép người dùng shutdown máy
Biên dịch src.rpm
Script tạo ogg/mp3
Quản lý gói trong Debian
Cài đặt teTeX
Cài dvipdfmx thêm cho teTeX
Sử dụng vfat với rsync
s bit và sticky bit
patch và diff
Lệnh dd
Tạo APT repository đơn giản
.xsession-errors quá lớn
Đồng hồ báo thức
Nghe wma với xmms
Một số lệnh với MySQL
Installing usb wireless card on Debian Lenny
$ import -window root screen.png.
$ import window.png rồi click phải lên cửa sổ
muốn chụp.
knapshot
fbgrab: chụp console
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.linux
Subject: Re: How to pronounce "Linux"?
Message-ID: <1992Apr23.123216.22024@klaava.Helsinki.FI>
Date: 23 Apr 92 12:32:16 GMT
References: <1992Apr23.044317.3916@nuscc.nus.sg>
Organization: University of Helsinki
Lines: 25
In article <1992Apr23.044317.3916@nuscc.nus.sg> npngps@solomon.technet.sg (Ng
Pheng Siong) writes:
>I apologize if this is considered trivial, but what is the
>proper pronunciation for "Linux"?
>
>Lilee or lie?
>Nuxnuks or nerks? Nooks?
Oh god. We just hashed this through on alt.os.linux. It /definitely/
needs to go into the FAQ.
'li' is pronounced with a short [ee] sound: compare prInt, mInImal etc.
'nux' is also short, non-diphtong, like in pUt. It's partly due to
minix: linux was just my working name for the thing, and as I wrote it
to replace minix on my system, the result is what it is... linus' minix
became linux.
I originally intended it to be called freax (although buggix was one
contender after I got fed up with some of the more persistent bugs :)
and I think the kernel makefiles up to version 0.11 had something to
that effect ("Makefile for the freax kernel" in a comment). But arl
called the linux directory at nic.funet.fi pub/OS/Linux, and the name
stuck. Maybe just as well: freax doesn't sound too good either (freax
is obviosly free + freak + the obligatory -x).
Linus
Mọi tập tin đều có một cấu trúc dữ liệu (record) gọi là i-node lưu trữ thông tin về tập tin, và tên tập tin được dùng chỉ như là một tham khảo (reference) cho cấu trúc đó. Một liên kết chỉ là một cách để tham khảo đến nội dung của tập tin. Có hai loại liên kết:
là một pointer đến i-node của tập tin. Thí dụ, giả sử có tập tin a-file.txt chứa chuỗi "The file a-file.txt":
% cat a-file.txt
The file a-file.txt
%
Bây giờ dùng lệnh ln để tạo một liên kết tới a-file.txt, gọi là
b-file.txt:
% ls
./ ../ a-file.txt
% ln a-file.txt b-file.txt
% ls
./ ../ a-file.txt b-file.txt
Hai cái tên a-file.txt và b-file.txt bây giờ chỉ đến cùng một dữ liệu:
% cat b-file.txt
The file a-file.txt
%
Nếu thay đổi nội dung của b-file.txt, thì nội dung của a-file.txt cũng thay đổi theo:
% vi b-file.txt
...
% cat b-file.txt
The file a-file.txt has been modified.
% cat a-file.txt
The file a-file.txt has been modified.
%
và ngược lại:
% vi a-file.txt
...
% cat a-file.txt
The file a-file.txt has been modified again!
% cat b-file.txt
The file a-file.txt has been modified again!
%
Nếu xoá tập tin a-file.txt, b-file.txt có pointer của chính nó đến nội
dung của tập tin mà đã được gọi là a-file.txt, và vì vậy vẫn có thể
dùng nó để truy cập dữ liệu.
% rm a-file.txt
rm: remove 'a-file.txt'? y
% ls
./ ../ b-file.txt
% cat b-file.txt
The file a-file.txt has been modified again!
Liên kết cứng không thể dùng để nối một tập tin từ hệ thống tập tin này sang một
tập tin thuộc hệ thống tập tin khác. Một hệ thống thứ bậc cấu trúc tập
tin của Unix có thể gồm một số hệ thống tập tin khác nhau (có thể nằm
trên vài ổ cứng). Mỗi hệ thống tập tin duy trì các thông tin của chính
nó về cấu trúc nội tại của hệ thống và từng tập tin trên hệ thống. Liên
kết cứng chỉ biết thông tin đặc hiệu về hệ thống này, khiến cho nó
không thể mở rộng ra nhiều hệ thống tập tin.
Liên kết mềm (liên kết biểu tượng)
là một tập tin chứa tên của một tập tin khác. Từ đó có thể truy cập
nội dung của tập tin kia qua cái tên đó. Nghĩa là liên kết biểu tượng
là một pointer đến cái pointer cho nội dung tập tin. Thí dụ, tiếp theo
thí dụ trên (với tập tin a-file.txt không bị xoá), tuỳ chọn -s được dùng với lệnh ln để tạo liên kết mềm
Symbolicb-file.txt:
% ln -s a-file.txt Symbolicb-file.txt
% ls -F
./ ../ a-file.txt b-file.txt Symbolicb-file.txt@
Liên kết biểu tượng, khi dùng lệnh ls -F, biểu thị với kí hiệu @. Khảo sát nội
dung của tập tin:
% cat Symbolicb-file.txt
The file a-file.txt has been modified again!
Nếu thay đổi nội dung của tập tin Symbolicb-file.txt, thì tập tin a-file.txt
cũng bị thay đổi:
% vi Symbolicb-file.txt
...
% cat Symbolicb-file.txt
The file a-file.txt has been modified a third time!
% cat a-file.txt
The file a-file.txt has been modified a third time!
% cat b-file.txt
The file a-file.txt has been modified a third time!
%
Do đó nếu viết chồng (overwrite) một tập tin cùng tên Symbolicb-file.txt lên tập tin Symbolicb-file.txt đã có thì thực tế là viết chồng lên tập tin a-file.txt.
Nếu xoá, di chuyển, đổi tên tập tin a-file.txt, không thể truy cập dữ liệu thông qua liên kết biểu tượng Symbolicb-file.txt (liên kết mềm bị phá vỡ):
% ls -F
./ ../ a-file.txt b-file.txt Symbolicb-file.txt@
% rm a-file.txt
rm: remove 'a-file.txt'? y
% ls -F
./ ../ b-file.txt Symbolicb-file.txt@
% cat Symbolicb-file.txt
cat: Symbolicb-file.txt: No such file or directory
Lưu ý rằng liệt kê dài (ls -l) một liên kết mềm không phản ánh chính
xác các quyền của tập tin được liên kết; muốn xem quyền của tập tin
nguồn cần dùng thêm tuỳ chọn -L. Thí dụ:
% ln -s /usr/include/stdio.h stdio.h
% ls -l stdio.h
lrwxrwxrwx 1 a1a1 undergrad 20 May 10 15:13 stdiọh ->
/usr/include/stdio.h
% ls -l /usr/include/stdio.h
-rw-r--r-- 1 root bin 11066 Jan 5 2000 /usr/include/stdio.h
% ls -lL stdio.h
-rw-r--r-- 1 root bin 11066 Jan 5 2000 stdio.h
rpm -qpl package.rpm
rpm2cpio
rpm2cpio package.rpm | cpio -iv --make-directories full-path
với full-path là đường dẫn đầy đủ tìm ra trong bước 1 ở
trên. Nếu muốn tạo đường dẫn đầy đủ trong thư mục hiện tại, chỉ cần bỏ '/'
dẫn đầu đường dẫn. (hoặc chỉ cần rpm2cpio package.rpm | cpio -ivmud)
umask giống như số nhị phân NOT của quyền trên tập tin. Thí dụ:
rwxr-xr-x - quyền tập tin mong muốn
111101101 - quyền tập tin viết theo nhị phân
000010010 - umask
0 2 2 - umask bát phân
Vì vậy, nếu quy định cho một phân vùng ổ đĩa trong tập tin fstab
với umask=0000, quyền trên phân vùng đó sẽ là rwxrwxrwx. Nếu muốn
quy định quyền là rwxrwxr-x, cần thiết lập umask=0002.
find thư_mục -size +20000k
sẽ tìm các tập tin có size hơn 20MB trong thư_mục
($ consolechars -v -m straight-to-font -u viscii.sfm -f viscii10-8x16.psf)
$ unicode_start
$ setfont viscii10-8x16 (hoặc consolechars -f viscii10-8x16.psf)
font viscii10-8x16 (thường ở /usr/share/(kbd/)consolefonts hoặc trên redhat thì ở /boot/kbd/consolefonts - vì /usr có thể ở partition khác nên nếu để ở /boot/... thì sẽ set font console trước khi load các partition) đi kèm các distro có vị trí chữ Õ và ạ đảo ngược, có thể tìm font mới (viscii11-8x16.psf, ở http://vinux.sourceforge.net/vim-vn/).
Dùng bảng mã TCVN: $ setfont -m trivial -u tcvn.uni tcvn8x16.
Trên Debian, cần gói console-terminus để có fixed fonts, và kbd-compat để có setfont.
$ setxkbmap -layout dvorak
Để quay lại bàn phím us
$ setxkbmap -layout us
* Luyện dvorak với dvorak7min hoặc dvorakng
fstab cho tương tự /dev/cdrom /media/cdrom auto unhide,ro,noauto,user,exec 0 0
/media/cdrom (trong trường hợp này)
$ touch -t 200403011244 tên_tập_tin
sẽ đổi ngày giờ tạo (sửa đổi) tập tin sang 12:44 pm, March 1, 2004.
$ su -
$ insmod usbcore (hoặc dùng lệnh modprobe thay vì insmod)
$ insmod usb-uhci (hoặc usb-ohci)
$ insmod usb-storage
Sau mỗi lần nạp các module trên, có thể kiểm tra bằng
$ tail /var/log/kern.log (hoặc /var/log/messages)
Trên một số hệ thống, như SUSE 9.0, mọi thứ đã sẵn sàng.
Kiểm tra thông tin về các thiết bị SCSI. Khoan nối camera vào.
$ cat /proc/scsi/scsi
Nối camera vào qua cáp USB. Chỉnh camera sang chế độ "Display" (hoặc "Quick
View") (đừng mở lens barrier).
$ tail -n 15 /var/log/kern.log (kiểm tra kernel log xem có thành công không)
$ cat /proc/scsi/scsi (kiểm tra thiết bị SCSI mới xuất hiện)
$ mount -t vfat /dev/sda1 /mount (nếu đã có một ổ CR-RW nối vào dùngIDE-SCSI
interface, camera sẽ là /dev/sda1)
$ exit (trở thành người dùng thường)
$ ll /mnt
* Konqueror có thể dùng địa chỉ camera:/ để truy cập vào camera.
/var/log/messages (có thể xem bằng less +G /var/log/messages) sẽ có những dòng tương tự:
hub.c: new USB device 00:1d.2-1, assigned address 2 kernel: scsi2 : SCSI emulation for USB Mass Storage devices kernel: usb-uhci.c: interrupt, status 3, frame# 1897 kernel: Vendor: FUJITSU Model: MCL3064UA Rev: 0010 kernel: Type: Direct-Access ANSI SCSI revision: 02 kernel: Attached scsi removable disk sdb at scsi2, channel 0, id 0, lun 0Điều quan trọng ở đây là xem đầu đọc được giao địa chỉ nào, trong trường hợp này là
sdb.
mkdir /mnt/modisk
mount -v -t vfat /dev/sdb /mnt/modisk/
mount -v -t hfs /dev/sdb /mnt/modisk/
umount /mnt/modisk/
mc trong xterm với large/huge
font
$ xterm -fn 10x20 -ls -geometry 85x30 -e mc
$ xterm -fn 9x15 -ls -geometry 90x40 -e mc
$ su
$ mount -o umask=0 device dir
$ smbmount //LNB_PERSONAL/lnb_personal /home/nien/mnt/LNB_PERSONAL/lnb_personal/ -o username=<username>%<password>,fmask=644,dmask=755,uid=500,gid=100,ip=<IPaddress>,debug=0 $ smbumountNếu có thông báo khi chạy lệnh
smbmount:
smbmnt must be installed suid root for direct user mounts (500,500)
smbmnt failed: 1
smbmnt với lệnh ls -la `which smbmnt` (nếu đó là một symlink, cần theo link đó đến tập tin gốc)
smbmnt: chmod +s smbmnt
smbumount must be installed suid root".
$which cdrecord
/usr/bin/cdrecord
$which mkisofs
/usr/bin/mkisofs
$dmesg | grep 'hd.:'
Trong kết quả hiển thị có dòng tương tự như
hdd: LITE-ON LTR-40125S, ATAPI CD/DVDROM drive
Bạn biết được rằng ổ ghi CD (trong trường hợp này) là hdd
$dmesg | grep 'ide-scsi'
được kết quả tương tự
hdd: attached ide-scsi driver.
Bạn biết được hdd đã được giả lập SCSI (điều này cần thiết để bạn ghi CD trong Linux). (Nếu chưa, bạn có thể phải thêm tham số cho nhân Linux. Nếu khi khởi động Linux, bạn dùng GRUB thì hiệu chỉnh tập tin /boot/grub/menu.lst (hoặc /boot/grub/grub.conf, tuỳ vào distro bạn đang dùng): thêm hdd=ide-scsi trên dòng lệnh kernel. Thí dụ
title linux
kernel (hd1,6)/boot/vmlinuz root=/dev/hdc7 vga=0x317 hđ=ide-scsi
Nếu bạn dùng LILO thì hiệu chỉnh tập tin /etc/lilo.conf: thêm dòng append="hdd=ide-scsi" vào phần kernel. Cần nhớ là sau khi thay đổi cấu hình của LILO thì bạn cần chạy lệnh lilo để cập nhật.)
cdrecord --scanbushoặc
cdrecord -dev /dev/hdd -scanbushoặc
cdrecord dev=ATA -scanbusKết quả cho ra có dòng tương tự
1,1,0 101) 'LITE-ON ' 'LTR-40125S ' 'ZS0N' Removable CD-ROMBộ ba chữ số đầu là quan trọng (có thể cho kết quả với 4 chữ số như
0,0,0 0), khi đó vẫn dùng 3 chữ số đầu). Trường hợp này là 1,1,0.Cũng có thể dùng lệnh
cdrdao scanbusđược
ATA:1,1,0 LITE-ON , LTR-40125S , ZS0NĐịnh dạng của thiết bị là
[prot:]bus,id,lun. Thí dụ: 0,2,0, ATAPI:0,1,0 hay ATA:0,1,0
mkisofs -v -J -r -o hinh_anh.iso tap_tin...-v cho thấy thông tin chi tiết của quá trình tạo tập tin ISO;
-J dùng mở rộng Joliet để giữ tên tập tin dài;
-r dùng mở rộng Rock Ridge để lưu giữ các miêu tả thuộc tính tập tin và thiết lập quyền đọc và thi hành các tập tin trong hinh_anh.iso cho mọi người dùng;
-o chỉ ra tên tập tin xuất, trường hợp này là hinh_anh.iso;
tap_tin... là danh sách các tập tin và thư mục muốn ghi lên CD. Nếu chỉ là một thư mục, cấu trúc thư mục sẽ được giữ nguyên trên CD. Nếu vừa chứa tập tin và thư mục thì tất cả các tập tin và các tập tin trong các thư mục con sẽ được ghi vào thư mục gốc trên CD mà không có cấu trúc thư mục con.
Xem trang man của mkisofs để biết thêm chi tiết.
mount -t iso9660 -o loop hinh_anh.iso /mnt/cdrom
Bạn có thể đi dạo /mnt/cdrom như thể là các tập tin ở trên một CD thực sư.. Sau khi kiểm tra xong, bạn tháo gán:
umount /mnt/cdrom
cdrecord -eject -v speed=12 dev=0,0,0 hinh_anh.iso-eject sẽ mở ổ đĩa và đẩy CD ra ngoài sau khi hoàn tất ghi;
-v hiển thị thông tin chi tiết của quá trình ghi;
speed=12 quy định tốc độ ghị 12 nghĩa là 12x. Con số này tuỳ thuộc vào khả năng ổ đĩa của bạn.
dev=0,0,0 0,0,0 là bộ ba có từ lệnh cdrecord --scanbus ở trên.
Tham khảo trang man của cdrecord để biết một sô tuỳ chọn và ứng dụng khác của nó.
* Chép trực tiếp từ ổ CD-ROM vào ổ ghi:
cdrecord -v dev=3,0,0 -isosize /dev/cdromvới
dev là ổ ghi, và /dev/cdrom là ổ đọc.
cdrecord -eject -v speed=12 dev=0,0,0 -audio track1.wav track2.wav ...
-eject, -v, speed, dev: xem thêm bên trên;track1.wav, track2.wav ... : danh sách các tập tin âm thanh ở dạng wav (cũng có thể viết ở dạng track*.wav).
* Lưu ý: Trên một số hệ thống, một số các lệnh ở trên đòi hỏi bạn phải có quyền root để thi hành.
* Tạo .iso từ CD:
dd if=/dev/cdrom of=./filename.isohoặc
dd if=/dev/cdrom of=image.iso bs=X count=Yvới X = Logical block size, Y = Volume size có từ kết quả
isoinfo -d -i /dev/cdrom (isoinfo không dùng được trên audio cd).
hoặc
cat /dev/cdrom > image.isohoặc
readcd dev=ATAPI:0,1,0 f=./filename.isoSau khi tạo .iso, có thể kiểm tra bằng cách so sánh
sum -r /dev/cdrom và sum -r image.iso
cksum /dev/cdrom và cksum image.iso* Tạo bin/toc từ CD:
cdrdao read-cd --read-raw --datafile image.bin --device ATAPI:0,1,0 --driver generic-mmc-raw image.toc
* Xoá CD-RW
cdrecord --dev=0,3,0 --blank=fasthoặc
cdrdao blank --device ATAPI:0,1,0Đôi khi, vì lỗi của đĩa, cdrdao không thể xoá ở tốc độ mặc định; khi đó cần ép xoá ở tốc độ thấp hơn với tuỳ chọn
--speed (ví dụ, --speed 10).
* Sao chép audio CD (cùng một device)
cdrdao copy --speed 12 --device 1,1,0 --driver generic-mmc
cdrdao copy --speed 12 --device /dev/hdd --driver generic-mmc
Tập tin hình ảnh trung gian tạm thời cddata.bin sẽ được tạo trong thư
mục hiện tại và được xoá sau khi ghi xong.
cdrdao
cdrdao write --device 0,0,0 --speed 8 ./file.cue
cũng có thể thêm --simulate để kiểm tra trước khi ghi thực sự.
Cần lưu ý là đôi khi cần phải điều chỉnh nội dung tập tin cue (bằng một text editor) để cho đúng tên của tập tin bin vì tên tập tin trong MS Windows không phân biệt chữ hoa/thường cũng như có thể không có đuôi .bin.
Ngoài ra cũng có thể chuyển đổi bin/cue sang iso bằng binchunker (http://he.fi/bchunk/).
Ghi DVD
growisofs -Z /dev/dvdrw=image.iso
growisofs -Z /dev/dvdrw -J -R /path/to/disc/root
growisofs -M /dev/dvdrw -R -J /more/files (lưu ý các option ở các lần ghi sau phải giống lần ghi đầu)Xoá đĩa DVD-RW
dvd+rw-format -blank /dev/dvd
dvd+rw-format -blank=full /dev/dvdgrowisofs -Z /dev/scdN=/dev/zero. Reformat nhiều lần có thể làm giảm tuổi thọ đĩa (tuổi thọ đĩa có thể chỉ được 10-20 lần reformat). DVD+R không cần format trước khi dùng.
Xem thông tin về đĩa DVD:
dvd+rw-mediainfo /dev/dvdrw
Có thể cài thêm các gói:
Tải xuống
mkdir ~/Xfce4_files/
Có thể tải xuống tập tin mã nguồn (gói tar) hoặc nhị phân (RPM). Cũng có thể dùng RPM được đóng gói cho SuSE 8.2, có tại: http://students.oamk.fi/~olilju00/xfce4/
giao diện đồ hoạ: gFTP hoặc kBear (có sẵn trong bộ đĩa SuSE)
giao diện dòng lệnh: ncftget
cd ~/XFce4_files/
ncftpget -R ftp://ftp.đi.a_chỉ_ftp
Xfce4 và Xfce3 có thể cùng tồn tại trên một hệ thống mà không xung đột nhau, nên không cần dỡ bỏ Xfce3 trước khi cài Xfce4.
rpm -Uvh tên_tâ.p_tin.rpmTrình tự cài đặt
Các gói còn lại không cần theo trình tự:
Script startxfce4
Khi đăng nhập vào hệ thống và chọn một trình quản lý cửa sổ, hệ thống Linux sẽ gọi các tập tin nhị phân trong /usr/X11R6/bin/. Khi cài đặt các gói RPM XFce4, script startxfce4 nằm ở /usr/bin/, do đó cần tạo liên kết đến /usr/X11R6/bin/:
ln - s /usr/bin/startxfce4 /usr/X11R6/bin/XFce4
Lưu ý rằng tên liên kết là XFce4 mặc dù script khởi động có tên là startxfce4. Sẽ đề cập ở phần saụ
Cá nhân hoá startxfce4
Nên chép xinitrc từ /etc/X11/xfce4 vào ~/.xfce4 (tạo nếu chưa có) và thêm thuộc tính thi hành cho nó rồi thực hiện các thay đổi trên xinitrc đó theo ý muốn.
mkdir ~/.xfce4
cp /etc/xfce4/xinitrc ~/.xfce4
cd ~/.xfce4
chmod +x xinitrc
Thêm Xfce4 vào thực đơn KDM
Hiệu chỉnh tập tin kdmrc tại /etc/opt/kde3/share/config/kdm/. Xem đề mục "SessionTypes=" trong tập tin kdmrc:
SessionTypes=kde,gnome,blackbox,afterstep,fvwm2,mwm,twm,failsafe,Đây là danh sách các trình quản lý cửa sổ xuất iện trong thực đơn KDM theo trình tự liệt kệ Lưu ý ở cuối đề mục này có dấu phẩỵ.
Thêm XFce4 vào danh sách trên; đây cũng là lý do đổi tên liên kết cho startxfce4 ở phần trên: XFce4 dễ nhìn hơn startxfce4. Thí dụ:
SessionTypes=kde,gnome,blackbox,afterstep,fvwm2,mwm,twm,failsafe,XFce4,
Ngoài ra, có thể lấy gaim từ ftp://ftp.suse.com/pub/people/mmj/
mplayer -dumpstream rtsp://<address>./stream.dump. Nên đổi tên thành .rm, .ra, .asf, .wmv,... MPlayer hỗ trợ các giao thức HTTP, RTSP, MMS để ghi Windows Media, RealVideo/RealAudio, QuickTime Video.
rpm -ivh -force <tên-gói>
startx -- :1Lưu ý:
8:23:respawn:/sbin/getty 38400 tty8/etc/inittab.
startx -- :2 để khởi động phiên X11 thứ ba.
setterm -blength 0
setterm -blength 200
xset b off
xset b on
beep để thử tiếng beep.
gettext .pot/.po. Chúng có cấu trúc khá đơn giản: một dòng bắt đầu bằng msgid để lưu câu tiếng Anh, một dòng bắt đầu bằng msgstr để lưu câu dịch. Sau đó là một dòng trắng. Các dòng bắt đầu bằng # là comment. Cứ thế lặp đi lặp lại. Ví dụ:
,---- | # this is comment | msgid "this is " | "an English string\n" | msgstr "đây là dòng tiếng Việt\n" | `----
Các chuỗi trong msgid, msgstr sử dụng y chang như trong C. Dấu " hoặc ký tự xuống dòng phải cần quote thành \" hoặc \n. Các %s %d %i ... đại diện cho một nội dung gì đó sẽ được chương trình thêm sau (man printf, man strftime).
Trong dự án GNOME, kí tự _ sẽ được hiển thị là dấu gạch dưới, quy ước của hotkey; khi dịch cần chuyển sang vị trí thích hợp (hoặc có thể bỏ qua). Đối với dự án KDE, đó là kí tự &.
Khi Việt hóa, chỉ thay đổi nội dung phần msgstr thôi, không đụng đến các phần khác. Nếu trong phần comment có chữ "obsolete" thì khỏi cần dịch. Nếu có chữ "fuzzy" thì phải xem lại phần msgstr vì nó không chắc đúng đâu. Nhớ bỏ chữ fuzzy sau khi dịch xong.
Dòng msgid đầu tiên trong file thường là các thông tin header; cứ thấy chỗ nào viết hoa thì điền vào.
Sau khi dịch xong (hoặc đang dịch), có thể kiểm tra bản dịch xem có phạm lỗi gì không bằng lệnh:
,---- | msgfmt file.po -cvo /dev/null `----Lưu ý rằng tập tin đã được dịch thường dùng đuôi
.po. Đuôi .pot chỉ dùng cho tập tin chưa được dịch.
Nếu có tập tin .pot mới và tập tin .po cũ của phiên bản trước, có thể tạo tập tin .po tương ứng với tập tin .pot mới bằng lệnh
,---- | msgmerge old_file.po file.pot > new_file.po `----Để cài chạy thử tập tin .po mình mới tạo ra, tạo tập tin .mo bằng lệnh:
,---- | msgfmt file.po -cvo file.mo `----Sau đó tìm trong source của chương trình, tìm
bindtextdomain:
,---- | cd package-source | grep bindtextdomain * đrecurse `----Chuỗi đầu tiên thấy sau bindtextdomain chính là tên file .mo. Đổi tên tập tin .mo đã tạo ở trên thành tên này, sau đó chép vô chỗ cũ - tìm trên hệ thống xem .mo cũ nằm ở chỗ nào Thường thì nó nằm ở
/usr/share/locales/vi/LC_MESSAGES hoặc /usr/share/locale/vi/LC_MESSAGES,...
Ngoài ra, nếu không có .pot, chỉ muốn sửa cái giao diện đang xài thì có thể reverse .mo thành .po rồi sửa:
,---- | msgunfmt file.mo > file.po `----(Thanks to pclouds, theo http://sourceforge.net/mailarchive/message.php?msg_id=6365702)
vi: cho kết quả lệnh date giữa dòng:r !{date} kết quả sẽ xuất hiện ở dòng mới, không ở giữa văn bản nơi muốn đặt. Có thể dùng keybinding command để làm điều này. Trong .vimrc thêm
map DATE i<cr><esc>k:r !date<cr>kJJkhi đó ở command mode, giữ shift và gõ DATE. Cũng có thể dùng function key, ví dụ dùng F10 và muốn hiển thị thời gian theo UTC:
map <f10> i<cr><esc>k:r !date -u<cr>kJJ(Thanks to b1nhb00ng)
Tắt Hibernation: Hibernation là tính năng cho phép tắt nhanh máy tính và lưu mọi thứ đang mở trên RAM vào đĩa cứng ở tập tin hiberfil.sys. Tắt tính năng này, tập tin hiberfil.sys bị xoá và có thể tiết kiệm không gian đĩa bằng lượng RAM đang có cho hệ điều hành. Cách tắt: Control Panel -> Power Options -> Hibernation và bỏ dấu kiểm “Enable hibernation”.
Tắt/thay đổi System Restore: Theo mặc định Windows XP dùng 12% dung lượng đĩa cứng cho System Restore. Có thể tắt/thay đổi con số này bằng cách click phải lên My Computer chọn Properties rồi vào tab System Restore.
Thay đổi dung lượng Recycle Bin: Mặc định Windows XP dùng 5% dung lượng đĩa cứng cho Recycle Bin. Có thể thay đổi bằng cách click phải lên Recycle Bin chọn Properties.
lsof -i hoặc netstat -vat. Chú ý có những dịch vụ nào lạ đang chạy không, có thể đó là trojan.
split [tuỳ_chọn] [input [tiền_tố]] cắt input thành các phần có kích thước nhất định tiền_tốaa, tiền_tốab,... Nếu không có input hoặc input là - thì sẽ đọc standard input. Các tuỳ chọn: -a N hậu tố theo sau tiền_tố có chiều dài N (mặc định là 2); -b SIZE quy định kích thước tập tin xuất SIZE byte (có thể kí hiệu b cho 512, k cho 1K, m cho 1 Meg); d hậu tố dùng số thay cho chữ.
cat /path//to/file2 /path/to/file3 >>/path/to/file1 để nối các tập tin đã cắt lại với nhau.
* Có thể dùng lệnh cat để nối các tập tin được cắt trên Windows, cũng như có thể dùng lệnh cat trên Windows để nối các tập tin được cắt trên linux.
* Lệnh split đặt tên các file theo kiểu aa, ab,...; để đặt tên theo kiểu 001, 002,... có thể dùng lxsplit (http://www.freebyte.com/download/lxsplit.tar.gz).
$ alsamixer. Di chuyển đến mic (bằng phím mũi tên phải), ấn m để unmute mic, và set capture cho mic và capture. Thử ghi âm thanh với audacity.
wget -nd -r -l1 -nv -A "*.ogg" http://abc.def/music/
#!/bin/bash
X=0
while [ $X -le 9 ]
do
wget http://abc.def/ghk/file00$X.jpg
X=$((X+1))
done
X=10
while [ $X -le 99 ]
do
wget http://abc.def/ghk/file0$X.jpg
X=$((X+1))
done
X=100
while [ $X -le 240 ]
do
wget http://abc.def/ghk/file$X.jpg
X=$((X+1))
done
Một script ngắn hơn:
#!/bin/bash x=1 while [ $x -le 241 ] do wget "http://abc.def/ghk/file"`printf %03d.jpg $x` x=$((x+1)) doneLưu ý là
`printf %03d.jpg $x` dùng dấu backquote (dấu huyền theo VIQR).
wget -nd -r -l1 -nv -A "*.jpg" http://org.com.netvới:
-nd: không tạo cấu trúc thư mục (no dir)
-r: hồi quy (recurisve)
-l1: level thứ nhất
-nv: thầm lặng (non-verbose)
Trình quản lí queue chỉ giữ thông tin trong bộ nhớ về active queue. Kích thước active queue được giới hạn để bộ nhớ làm việc không bị cạn kiệt vì tải cao. Khi có chỗ trống trong active queue, trình quản lí queue cho vào một thông điệp từ incoming queue và một từ deferred queue.
Ngoài các queue trên, Postfix cũng duy trì hai khoảng lưu trữ. Hold queue dùng cho thư bị niêm phong và sẽ không phân phối cho đến khi một ai đó giải phóng bằng lệnh postsuper. Thư mục corrupt dùng cho những tập tin queue bị hỏng; thay vì bỏ chúng đi, Postfix giữ lại cho người kiểm tra. Tất cả các queue được đặt trong /var/spool/postfix/.
Các thiết lập cấu hình liên quan đến queue trong /etc/postfix/main.cf:
queue_run_delay khoảng cách thời gian mỗi lần gửi thư từ queue (mặc định 1000 giây = ~ 17 phút);
maximal_queue_lifetime thời gian tối đa thư nằm trong queue (5 ngày), quá thời gian này sẽ trả lại người gửi;
bounce_queue_lifetime thời gian tối đa thông điệp bounce nằm trong queue trước khi nó được xem là không thể phân phối được, mặc định thì bằng với thời gian trong queue của thư thông thường;
default_destination_concurrency_limit số thông điệp gửi ra cùng lúc (20), ngoài ra cũng có thể thay đổi ở smtp_destination_concurrency_limit và local_destination_concurrency_limit.
Để xem giá trị hiện tại của các thiết lập này có thể dùng lệnh postconf | grep tên_thiết_lập.
Các lệnh thường dùng trong quản lí queue:
Xem queue: postqueue -p (hoặc mailq). Lệnh này sẽ liệt kê ID tập tin queue (dấu * cho biết thông điệp trong active queue, dấu ! cho biết thông điệp trong hold queue), kích thước thông điệp, thời gian đến, người gửi, người nhận cần phải phân phối, và lí do thất bại trong lần gửi cuối, nếu có.
Xem nội dung thông điệp trong queue: postcat -q queue-id.
Xoá một thông điệp trong thư mục (hoặc mặc định là trong hold, incoming, active và deferred): postsuper -d queue-id [thư-mục] (queue-id từ postqueue -p). Xoá tất cả thông điệp: postsuper -d ALL. Xoá lượng lớn email: mailq | grep 'stringtolookfor' | awk '{print substr($1,1,10)}' | postsuper -d - (- dùng cho queue-id chỉ standard input).
Di chuyển thông điệp từ thư mục chỉ định (hoặc mặc định là incoming, active và deferred) vào thư mục hold: postsuper -h queue-id [thư-mục]. Thư trong hold sẽ không bị quá hạn bởi maximal_queue_lifetime hay bounce_queue_lifetime. Không tạm giữ nữa và di chuyển thư sang deferred queue: postsuper -H queue-id.
Requeue (sau khi đổi cấu hình postfix): postsuper -r queue-id hoặc postsuper -r ALL. Thông điệp được requeue sẽ được di chuyển sang maildrop queue.
Phân phối tất cả thông điệp trong queue (flush): postqueue -f. Lập tức phân phối tất cả các thư trong queue đến site với lệnh postqueue -s site, site phải hợp lệ cho "fast flush", tức phải nằm trong biến fast_flush_domains hoặc delay_domains.
lpr -P printer file
lpq -P printer
lprm -P printer job-id (job-id từ lpq)
lp -d printer file
lpstat -p printer
cancel job-id (job-id từ lpstat)
Section "InputDevice" Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "XkbRules" "xorg" #Option "XkbModel" "pc104" Option "XkbModel" "jp106" Option "XkbLayout" "jp" Option "XkbVariant" "jp106" EndSection
#!/bin/bash #run source ./scriptname export LC_ALL=ja_JP export LANG=ja_JP.eucJP export XMODIFIERS='@im=kinput2' kinput2 -canna &
#!/bin/bash # run: jinputx <app_name> # or source jinputx then type the command export LC_ALL=ja_JP export LANG=ja_JP.eucJP export XMODIFIERS='@im=kinput2' kinput2 -canna & $1
#!/bin/bash #running gedit export LC_ALL=ja_JP export LANG=ja_JP.eucJP export XMODIFIERS='@im=kinput2' kinput2 -canna & gedit
#/bin/sh
find . -exec sh -c '(mv {} `echo {} | tr [A-Z] [a-z]`)' \;
sẽ có tác dụng lên thư mục đang đứng và các thư mục con.
/etc/fstab. Thông thường chỉ có người dùng root mới có quyền mount (tuỳ chọn owner). Để người dùng thông thường có quyền mount, chuyển tuỳ chọn owner sang users.cdrom: một trong các cách
cdrom::<unique group number>:root,<userid> vào tập tin /etc/group với <user id> là người dùng được cho quyền dùng CD-ROM. (Thí dụ: cdrom::25:root,user1).
groupadd cdrom.cdrom dùng thiết bị
chown owner:group <device> để giao quyền dùng thiết bị cho một người dùng và nhóm. Thí dụ: chown root.cdrom /dev/hdd.
chmod 660 /dev/hdd (giả dụ /dev/hdd là ổ CD-ROM).cdrom
usermod -G <danh sách nhóm cách bằng dấu phẩy> <user id>. Cần ghi đầy đủ các nhóm, vì đây là danh sách tuyệt đối, không phải là thêm vào danh sách đã có. Dùng lệnh groups <user id> để liệt kê các nhóm mà người dùng là thành viên.chmod 664 /dev/hdd.
sudo
/etc/sudoers
<tên_người_dùng> <tên_máy> = NOPASSWD: /sbin/shutdown -[hr] nowNgười dùng sẽ không phải dùng password để thực hiện lệnh
sude /sbin/shutdown -[hr] now. Nếu muốn yêu cầu người dùng phải dùng password (của họ) thì bỏ cờ NOPASSWD:. (Tên máy có thể xem bằng lệnh hostname.)
shutdown
chown root.shutdown shutdown
chmod 750 shutdown
chmod u+s shutdown# rpm -Uvh blah.src.rpm # cd /usr/src/packages/SPECS # vi blah.spec # rpmbuild -bb blah.specGói rpm sẽ nằm trong /usr/src/packages/RPMS/
#!/bin/sh
for i in *.wav; do
SONG=`basename "$i" .wav`
if [ -e "$i" ]; then
oggenc -o "$SONG.ogg" "$i"
fi
done
Script này sẽ encode các tập tin wav ở thư mục hiện tại. oggenc mặc định encode ở 128 kb/s; thí dụ nếu muốn encode ở 192 kb/s, thay đổi dòng lệnh oggenc thành
oggenc -b 256 -o "$SONG.ogg" "$i"
#!/bin/sh
for i in *.wav; do
SONG=`basename "$i" .wav`
if [ -e "$i" ]; then
lame "$i" "$SONG.mp3"
fi
done
Script này sẽ encode các tập tin wav ở thư mục hiện tại. lame mặc định encode ở 128 kb/s; thí dụ nếu muốn encode ở 192 kb/s, thay đổi dòng lệnh oggenc thành
lame -b 192 "$i" "$SONG.mp3"
ii bên trái thì gói đã được cài đặt hợp quy cách).
dpkg -L để tìm.
/var/cache/apt/archives/ và /var/cache/apt/archives/partial/
tetex-src-x.x.x.tar.gz
tetex-texmf-x.x.x.tar.gz
tại http://www.ctan.org/tex-archive/systems/unix/teTeX/ (bản chính thức) hoặc tại http://www.ctan.org/tex-archive/systems/unix/teTeX-beta/ (bản beta) (xem danh sách mirror tại http://www.ctan.org/tex-archive/CTAN.sites).
$ mkdir -p /usr/local/tetex/share/texmf /usr/local/tetex/share/texmf-dist
$ cd /usr/local/tetex/share/texmf-dist $ tar xvzf /đường/đến/tetex-texmf-x.x.x.tar.gz $ cd /tmp $ tar xvzf /đường/đến/tetex-src-x.x.x.tar.gz $ cd tetex-src-x.x.x $ ./configure --prefix=/usr/local/tetex --disable-multiplatform $ make all $ make installTrên Debian có thể cần cài thêm các gói flex, libxaw7-dev, libncurses5, libncurses5-dev, libncursesw5-d, ncurses-base, ncurses-bin (các gói ncurses dùng cho texinfo, nếu không cần có thể cấu hình --without-texinfo).
Thiết lập cấu hình
$ export PATH=/usr/local/tetex/bin:$PATHTương tự, thêm /usr/local/tetex/man vào MANPATH và /usr/local/tetex/info vào INFOPATH.
$ texconfig
$ tar xvzf dvipdfmx-YYYYMMDD.tar.gz $ cd dvipdfmx-YYYYMMDD $ ./configure --prefix=/usr/local/teTeX --with-kpathsea=/usr/local/teTeX $ make $ make install $ mktexlsr
rsync -av nguồn/* đích. Cần một số thiết lập để có thể dùng rsync lưu dự phòng lên vfat.
umask=0 (hoặc 002 nếu muốn hạn chế người dùng khác nhóm), uid=1000, gid=1000 (thay đổi tuỳ trường hợp), shortname=mixed (tập tin dạng MS-DOS sẽ được hiển thị chính xác như khi chúng được tạo trên vfat; mặc định là shortname=lower); ngoài ra có thể quy định thêm về codepage (thực tế, có thể giữ mặc định codepage=437 vì phần lớn các tên tập tin là tên dài, và được lưu ở dạng unicode), iocharset (chuẩn là iso8859-1, nếu dùng unicode có thể quy định iocharset=utf8)
/etc/fstab, có thể cần thêm noauto (không tự động mount lúc hệ thống khởi động) và user (cho phép người dùng mount). Vì lí do an ninh, thông số user hàm chứa noexec, nosuid, và nodev. Thường đây không là vấn đề nếu chỉ lưu dữ liệu đơn thuần. Nếu muốn thực thi chương trình lưu trên vfat, cần thêm thông số exec. Nếu không cần các thông tin về lần truy cập tập tin cuối cùng, có thể tắt với các thông số noatime và nodiratime. Một đề mục trong /etc/fstab có dạng:
/dev/sda1 /myvfat vfat shortname=mixed,umask=0,uid=1000,gid=1000,noauto,user 0 0
base-config. Kiểm tra lại với các lệnh cat /etc/timezone và ls -l /etc/localtime, và export TZ=<giờ địa phương> trong .bash_profile.
$ cd /myvfat $ split -d -b 2000m /myext3/cryptfile cryptfile_backup $ ls cryptfile_backup00 cryptfile_backup01 cryptfile_backup02Nối chúng lại
# Trên Linux $ cat cryptfile_backup00 cryptfile_backup01 cryptfile_backup02 > cryptfile # Trên DOS $ copy /b cryptfile_backup00 + cryptfile_backup01 + cryptfile_backup02 cryptfile
-a cho rsync sẽ không có tác dụng. Các thông số của rsync sử dụng được trên vfat
-r, --recursive treat folders recursively -v, --verbose show transmitted files -t, --times keep time settings -n, --dry-run test only --exclude ignore filesNgoài ra còn cần quy định
--modify-window=1 khi dùng trên vfat. Một lệnh điển hình có dạng
$ rsync -rvtn --modify-window=1 --exclude "lost+found" /myext3/* /myvfat
dosfsck (hay fsck.vfat -vr) trên phân vùng không đang được mount. Lệnh này ngốn nhiều RAM.
-F 32 để tạo hệ thống tập tin 32 bit
mkfs.vfat -F 32 /dev/sda1
-rwsr-xr-x 1 root root.
SGID=set group ID (on execution): sgid bit có ý nghĩa tương tự như suid bit, áp dụng cho nhóm: tập tin được set sgid bit sẽ được thi hành như thể là nó thuộc về nhóm đó hơn là chỉ thuộc về người dùng.
SUID và SGID chỉ có ý nghĩa trên tập tin thi hành được và chúng quan trọng trong vấn đề an ninh của hệ thống. Để tìm các tập tin có các bit này:
find / -type f \( -perm -04000 -o -perm -02000 \) -lsĐể tắt s bit:
chmod a-s tên_chương_trìnhSticky bit trên tập tin: lưu giữ ứng dụng ở bộ nhớ, sau khi chạy xong process đó không được giải phóng khỏi vùng swap và khi chương trình được gọi lại thì process đó chạy thẳng từ vùng swap, giúp cho việc tải chương trình nhanh hơn, do đó có ích cho trường hợp các ứng dụng thường được chạy (chẳng hạn như vi và gcc đối với lập trình viên) trên một hệ thống Unix xưa. Bit này chỉ có tác dụng trên tập tin thi hành được. Nhân Linux bỏ qua bit này trên tập tin.
Sticky bit trên thư mục: chỉ có root và người sở hữu có quyền tháo liên kết (unlink), xoá hoặc đổi tên các tập tin trong thư mục. Không có sticky bit, bất cứ ai có quyền ghi đều có thể xoá hoặc đổi tên tập tin. Sticky bit thường thấy trên các thư mục mà mọi người đều có quyền ghi, như /tmp, ở đó người dùng này không xoá được tập tin của người khác.
Ở lệnh chmod, set user ID và set group ID bit được kí hiệu bằng kí tự s, sticky bit được kí hiệu bằng kí tự t. Khi biểu diễn dưới dạng số, giá trị của các bit đặc biệt này đứng ở vị trí đầu tiên, trước các chữ số cho các quyền thông thường, với SUID bit=4, GUID=2 và sticky bit=1.
patch và diffcat patch.diff | patchhoặc
patch < patch.diffCó thể cần tuỳ chọn
-psố (cat patch.diff| patch -p1) để lược bỏ số slash dẫn đầu đường dẫn của các tên tập tin trong tập tin patch. Thí dụ, tên tập tin trong tập tin patch là
/u/howard/src/blurfl/blurfl.c-p0 sẽ dùng toàn bộ đường dẫn không thay đổi, -p1 cho
u/howard/src/blurfl/blurfl.c tức bỏ slash đầu tiên, -p4 cho blurfl/blurfl.c, và nếu không chỉ định -p sẽ được blurfl.c. Giá trị theo sau p phụ thuộc vào thư mục hiện tại hoặc thư mục được chỉ định trong tuỳ chọn -d.
Đảo ngược một patch: dùng tuỳ chọn -R.
Tạo một patch (nếu dùng cvs):
cvs diff > mypatch.diff
dddd là tiện ích sao chép standard input sang standard output. Dữ liệu input được đọc và viết bằng các block 512 byte. Nếu input read ngắn, input từ nhiều read gộp lại để tạo output block. Sau khi hoàn tất, dd hiển thị con số block input và output toàn bộ và từng phần và input record đã được cắt ngắn ra standard error output. Một số operands:
- Chép một đĩa mềm
Một đĩa mềm 3.5" thông thường có 18 sector/track, 2 head và 80 cylinder.
dd bs=2x80x18b if=/dev/fd0 of=/tmp/floppy.image 1+0 records in 1+0 records out18b : 18 sector (mỗi sector có 512 byte), 2x : số head, 80x : số cylinder--tổng cộng là 1474560 byte. Lệnh này đưa ra yêu cầu đọc 1474560 byte một lần đến
/dev/fd0 và một yêu cầu viết 1474560 byte một lần đến /tmp/floppy.image, trong khi một lệnh cp tương ứng
cp /dev/fd0 /tmp/floppy.imageđưa ra 360 lần đọc và viết 4096 byte. Điều này có vẻ không quan trọng trên một tập tin 1.44MB file, nhưng khi thực hiện trên lượng dữ liệu lớn, việc giảm số lời gọi hệ thống và cải thiện hiệu suất trở nên quan trọng.
dd bs=2x80x18b < /tmp/floppy.image > /dev/fd0 1+0 records in 1+0 records outỞ đây hiển thị việc sử dụng stdin/stdout, giống như hầu hết các tiện ích khác.
- Tạo boot image: trong các makefile của nhân Linux, ví dụ /usr/src/linux/arch/alpha/boot/Makefile, srmboot đưa ra lệnh
dd if=bootimage of=$(BOOTDEV) bs=512 seek=1 skip=1Lệnh này sẽ bỏ qua 512 byte đầu tiên của tập tin bootimage (ngõ vào) (skip=1) và viết bắt đầu ở sector thứ hai của thiết bị $(BOOTDEV) (seek=1). Một cách dùng điển hình của dd là bỏ qua các header thực thi được và bắt đầu ghi ở giữa thiết bị, bỏ qua volume and partition datạ Cẩn thận khi sử dụng vì có thể gây mất dữ liệu.
- Tạo hình ảnh đĩa CD (chú ý rằng không mount /dev/cdrom)
dd if=/dev/cdrom of=cd_img.iso bs=2048Xem thêm Sơ lược về ghi CD.
Đầu tiên, tạo thư mục chứa các gói deb và đặt các gói deb vào đó. Dùng lệnh dpkg-scanpackages để tạo tập tin Packages.gz chứa thông tin về gói đó. Thí dụ, đang đứng ở thư mục chứa các gói deb:
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gzVới repository đơn giản không cần tập tin
override như trường hợp này, /dev/null được dùng tại vị trí của tập tin đó.
Nếu muốn người dùng repository có thể sử dụng Pinning, có thể tạo thêm các tập tin Release.
Để dùng các gói, thêm vào /etc/apt/sources.list:
deb file:/đường/dẫn ./nếu repository đặt trên máy; hoặc nếu đặt trên mạng:
deb http://địa.chỉ/đường/dẫn ./
.xsession-errors quá lớncat /dev/null > ~/.xsession-errorsvà đưa vào cron script. Hoặc
rm -f ~/.xsession-errors ln -s /dev/null .xsession-errors
sleep 5h && ogg123 alarm.oggsau 5 giờ sẽ phát tập tin alarm.org; hoặc
sleep 5h && watch -n 1 aplay /usr/share/sounds/gaim/redalert.wavsau 5 giờ sẽ phát tập tin redalert.wav (đi kèm theo gaim) và lặp lại cách 1 giây.
Trên máy cần có chương trình ogg123, aplay, hoặc dùng một chương trình tương tự.
Có thể tạo một tập tin âm thanh ngẫu nhiên dùng để báo thức, lấy nguồn từ /proc/kcore, chứa thông tin bộ nhớ của hệ thống.
gst-launch-0.8 filesrc location=/proc/kcore ! vorbisenc ! filesink location=./alarm.ogglệnh này dùng gstreamer và cần quyền root.
xmms cũng có plugin xmms-alarm dùng làm đồng hồ báo thức.
libwma.so có tại thư mục gốc; có thể cài thủ công bằng cách copy vô /usr/lib/xmms/Input hoặc ~/.xmms/Plugins/Input.
mysqldump -u [username] -p[password] --opt [database] > [backup_file]
--add-drop-table (có trong --opt) để xoá table có sẵn khi phục hồi backup (nếu không cần phải drop database trước khi phục hồi).
mysql -u [username] -p[password] [database] < [backup_file]
CREATE DATABASE `wp` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Tuy nhiên có thể có vấn đề hiển thị với character set và collation ở trên. Thường mặc định với lệnh CREATE DATABASE `wp` ; sẽ tạo database có charset latin1, cholation latin1_swedish_ci, có lẽ tương thích tốt hơn về hiển thị tiếng Việt unicode.
- hiển thị nội dung một table wp_posts
SELECT * FROM `wp_posts` ;
- cập nhật (thay đổi) nội dung có id=1
UPDATE `wp_posts` SET `post_content` ='nội dung mới' WHERE `ID` =1 LIMIT 1 ;
1/ CNet CWD-854 Dongle, P/N: 18-1HGWD85CH.
http://rt2x00.serialmonkey.com/wiki/index.php/Downloads and download the file rt73-cvs-daily.tar.gz.
echo "blacklist rt73usb" >> /etc/modprobe.d/blacklist
rt73-cvs-daily.tar.gz, go to its Module/ directory, run make and make install.
vi /etc/modules and at the end of the file, add rt73 in a new line.
ls /etc/modprobe.d/ | grep rt73 to check if rt73 file exists, if not, touch rt73 and echo "alias rausb0 rt73" >> /etc/modprobe.d/rt73
rm /etc/modprobe.conf as it is not necessary.
iwconfig to check the recognized name of the device.
#!/bin/sh ifconfig wlan0 up iwconfig wlan0 mode Managed iwconfig wlan0 key XXXX-XXXX-XX iwconfig wlan0 essid "My ESSID" dhclient wlan0
Module/iwpriv_usage.txt in the driver package for information on other types of encryption and settings.
/etc/network/interfaces (restart the interfaces: /etc/init.d/networking restart):
auto wlan0 iface wlan0 inet dhcp ifconfig wlan0 up iwconfig wlan0 mode Managed iwconfig wlan0 key XXXX-XXXX-XX iwconfig wlan0 essid "My ESSID"
iwlist wlan0 scanning.
2/ Linksys WUSB54G:
Note: D-Link DWL-G122: rev B - chipset rt2570; rev C - chipset rt73.
Ref: