分类: LINUX
2009-03-27 17:18:14
行的一些有用的命令
这个简短的用户手册显示出在你的行的日常工作中的一些重要的命令。
输出处理器的架构.
输出一个文件的内容.
$ cat lorem.txt
改变当前目录.
$ cd /bin
改变文件的群组所有权.
$ chgrp games moo.txt
改变文件的访问权限.
$ chmod +x helloworld
改变文件的所有者和群组.
# chown root lorem.txt
打印每个文件的CRC校验值和字节数.
$ cksum lorem.txt moo.txt
3570240675 453 lorem.txt
4294967295 0 moo.txt
复制一个文件.
$ cp lorem.txt copy_of_lorem.txt
输出当前日期和时间.
$ date
Sat Mar 3 12:07:09 GMT 2007
报告硬盘空间的数量和文件系统的可用情况.
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/simfs 39845888 218048 39627840 1% /
列出目录内容.
$ dir
copy_of_lorem.txt lorem.txt moo.txt www
估计文件空间的使用情况
$ du -h /bin
7.8M /bin
显示一行文本.
$ echo foobar
foobar
关闭当前shell 并退出.
$ exit
打印文件中匹配模式的行.
$ fgrep "irure dolor" lorem.txt
commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
在目录树中找寻文件.
$ find hello*
hello_world
hello_world.c
Display amount of free and used memory in the system
显示系统中可用的自由的内存的数量.
$ free
total used free shared buffers cached
Mem: 8299892 8287708 12184 0 2641772 1731236
Low: 3581300 3572764 8536
High: 4718592 4714944 3648
-/+ buffers/cache: 3914700 4385192
Swap: 8193140 2335664 5857476
打印文件中匹配模式的行
$ grep -i apple fruitlist.txt
apple
输出当前用户属于的组群.
$ groups
games users
输出文件的前几行.
$ head -2 lorem.txt
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
输出网络主机名.
$ hostname
anapnea.net
输出用户id, 组 id, 和属于你的帐户的组群.
$ id
uid=1478(smallfoot) gid=100(users) groups=35(games),100(users)
结束一个进程.
$ kill -9 18298
-bash: kill: (18298) - Operation not permitted
结束所有包含那个名字的进程.
$ killall irssi
irssi(18298): Operation not permitted
irssi(13372): Operation not permitted
irssi(22048): Operation not permitted
irssi: no process killed
显示最后登录的用户列表.
$ last -n 3
alice pts/6 192.0.34.166 Fri May 18 16:17 still logged in
bob pts/2 64.233.183.103 Fri May 18 16:17 still logged in
clare pts/6 72.5.124.61 Fri May 18 15:54 - 15:55 (00:01)
打印程序依赖的库文件.
$ ldd /bin/bash
libncurses.so.5 => /lib/libncurses.so.5 (0x40023000)
libdl.so.2 => /lib/libdl.so.2 (0x40065000)
libc.so.6 => /lib/libc.so.6 (0x40069000)
/lib/ld-.so.2 (0x40000000)
制造文件的链接.
$ ln -s data.txt symlink.txt
打印用户的登录名.
$ logname
smallfoot
列出目录内容.
$ ls
copy_of_lorem.txt lorem.txt moo.txt www
打开程序或者函数的用户手册.
$ man bash
输出文件的MD5 哈希值.
$ md5sum lorem.txt
56da9e37259af34345895883e6fd1a27 lorem.txt
新建文件夹.
$ mkdir foobar
移动文件和更改文件名.
$ mv lorem.txt ipsum.txt
带行号打印一个文件.
$ nl lorem.txt
1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
2 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
3 veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
4 commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
5 velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
6 occaecat cupidatat non proident, sunt in culpa qui officia deserunt
7 mollit anim id est laborum.
列出目标文件的符号清单。
$ nm hello_world
080494a0 D _DYNAMIC
0804956c D _GLOBAL_OFFSET_TABLE_
08048474 R _IO_stdin_used
w _Jv_RegisterClasses
08049490 d __CTOR_END__
0804948c d __CTOR_LIST__
08049498 d __DTOR_END__
...
用八进制或其他格式输出文件内容
$ od -t x /bin/sh
2376640 00098020 000054d4 00000000 00000000
2376660 00000020 00000000 000000c7 00000008
2376700 00000003 080e6500 0009d4f4 00004ae8
...
找出一个正在运行的程序的 PID .
$ pidof fetchmail
Ping 一个主机.
$ ping -c 2 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.052 ms
--- 127.0.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.048/0.050/0.052/0.002 ms
$ ps
PID TTY TIME CMD
21542 pts/12 00:00:00 bash
27706 pts/12 00:00:00 ps
以树状图显示程序 .
$ pstree
init-+-2*[BitchX]
|-3*[bash---sleep]
|-fetchmail
|-screen-+-bash---irssi
| `-bash---ctorrent
|-screen-+-bash---lisp.run
| |-bash---vi
| |-2*[bash]
| `-bash---lynx
|-2*[screen---bash---irssi]
|-screen---irssi
|-screen---bash
|-screen-+-bash
| `-irssi
|-skjerm---irssi
|-sshd-+-5*[sshd---sshd---bash---irssi]
| |-8*[sshd---sshd---bash]
| |-sshd---sshd---bash---screen
| |-sshd---sshd
| `-sshd---sshd---bash---pstree
`-syslog-ng
输出当前工作目录的名字.
$ pwd
/home/smallfoot
删除一个文件或者目录.
$ rm lorem.txt
删除一个目录.
$ rmdir foobar
用于过滤和转化的文字的流编辑器
$ echo "My cat's name is Bob" | sed -e 's/Bob/Mittens/g'
My cat's name is Mittens
输出一个文件的SHA1 哈希值.
$ sha1sum lorem.txt
c942ddebd142ec8bacac9213d48096e74bab4957 lorem.txt
用安全的方式关闭系统. 全部登录的用户都将得到通知.
$ shutdown now
显示一个目标文件或者链接库文件中的目标文件的各个节的大小
$ size /bin/bash
text data bss dec hex filename
621233 22712 19176 663121 a1e51 /bin/bash
显示文件和文件系统的状态
$ stat lorem.txt
File: `lorem.txt'
Size: 453 Blocks: 8 IO Block: 4096 regular file
Device: 77h/119d Inode: 27312217 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1478/smallfoot) Gid: ( 100/ users)
Access: 2007-03-03 12:24:39.000000000 +0000
Modify: 2007-03-03 12:24:39.000000000 +0000
Change: 2007-03-03 12:24:39.000000000 +0000
22392
打印出二进制文件中的可显示 字符串
$ strings hello_world
/lib/ld-.so.2
_Jv_RegisterClasses
__gmon_start__
libc.so.6
puts
_IO_stdin_used
__libc_start_main
GLIBC_2.0
PTRh%
[^_]
Hello World!
输出文件的最后几行.
$ tail -2 lorem.txt
occaecat cupidatat non proident, sunt in culpa qui officia deserunt
mollit anim id est laborum.
和另一用户交谈.
$ talk bob Lookout for the dopefish!
改变一个文件的创建和修改时间的时间戳,如果文件不存在则创建他.
$ touch lorem.txt
输出当前终端的名字.
$ tty
/dev/pts/16
显示电脑以及操作系统的相关信息
$ uname -a
Linux anapnea.net 2.6.9 #1 SMP Wed Jul 19 16:24:18 MSD 2006 i686 Intel(R) Xeon(TM) CPU 2.80GHz GenuineIntel GNU/Linux
$ uptime
14:50:26 up 7 days, 17:52, 18 users, load average: 0.08, 0.02, 0.01
显示登录当前主机的用户们的用户名
$ users
alice bob charlie eve
列出目录的内容清单 .
$ vdir
total 8
-rw-r--r-- 1 smallfoot users 453 Mar 3 12:32 copy_of_lorem.txt
-rw-r--r-- 1 smallfoot users 453 Mar 3 12:24 lorem.txt
-rw-r--r-- 1 smallfoot users 0 Mar 3 12:32 moo.txt
lrwxr-xr-x 1 root root 18 Feb 27 19:33 www -> /var/www/smallfoot
显示谁已经登录并且 他们在做什么
$ w
12:14:30 up 5 days, 15:16, 19 users, load average: 0.00, 0.00, 0.00
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
charlie pts/0 Fri21 3:26m 2.52s 2.52s irssi
alice pts/2 Wed17 30:21m 0.00s 0.00s -bash
emma pts/4 11:37 36:57 0.00s 0.00s -bash
frank pts/5 11:48 11:03 0.00s 0.00s -bash
smallfoo pts/12 12:01 0.00s 0.04s 0.01s w
给每个人的终端发送消息.
$ wall next week we change the server for a new one
计算一个文件的行数.
$ wc -l lorem.txt
7 lorem.txt
在whatis资料库中搜寻特定指令.
$ whatis bash
bash (1) - GNU Bourne-Again SHell
bash [builtins] (1) - bash built-in s, see bash(1)
输出当前登录进系统的用户.
$ who
charlie pts/0 Mar 2 21:37 (xtreme-11-65.acme.com)
alice pts/2 Feb 28 17:48 (147.21.16.3)
emma pts/4 Mar 3 11:37 (32.84-48-181.uac.com)
frank pts/5 Mar 3 11:48 (port-212-202-233-2.foobar.org)
smallfoot pts/12 Mar 3 12:01 (c-12776f4.cust.example.net)
找到指定文件的源、二进制文件和手册等各部分的位置
$ whereis bash
bash: /bin/bash /etc/bash /usr/share/man/man1/bash.1.gz
输出你的用户名.
$ whoami
smallfoot