mkfs.ext3 filesystem123
1、vi命令
使用Vim/Vi编辑shell脚本,在进行调试的时候,需要进行多行的注释,每次都要先切换到插入模式,在行首输入注释符“#”,再退回命令模式,非常麻烦。其实如果要注释连续行,可在命令模式下执行,格式如下:
:起始行,终止行s/要替换字符/替换为新字符/g
如需注释第1行到第20行,可以执行:
:1,20s/^/#/g
其中“^”表示在行首插入,“#”为要插入的字符,“g”表示执行替换时不确认,若希望每行交互询问是否执行,可将“g”改为“c”。
如果编辑PHP脚本,注释要稍微麻烦一点,如也要注释第1行到第20行,要执行:
:1,20s/^/\/\//g
PHP的注释符“//”要特殊处理,因为Vim/Vi替换命令格式中默认“/”为分隔符,这样就需要使用转义符“\”,表示“/”就要写成“\/”才可以,所以命令如上所示。强烈建议各位看官使用,省时省力省键盘还省手指头。
注:删除多行注释时,用跟插入多行字符一样的方法即可,只是把要替换的字符串设置成“//”,把替换成的新字符串设置成空的""。
如在C语言源文件中的第120到130行插入行注释符"//",可以用命令:
若要删除以上c源文件中刚插入的120行到130的行注释,可用命令:
注:在C语言源文件中,若要注释多行,用多行注释
vi命令打开文本文件时,gg可以将光标定位到文件的第一行。
vi命令藩屏:ctrl+b:查看前面一屏的内容。
vi命令跳转到某行:用vi命令打开的文件,如果要跳转到本文件的第200行,可以输入“:200”,然后按空格即可。
vi命令下的复制与粘贴:
- 复制本文件的第10行到第15行的内容到本文件的第20行之后:
a、光标定位到第10行,非插入模式下输入 ”6yy“ ,然后将光标定位到第20行,非插入模式下输入 “p ” 。
b、非插入模式下输入 ” :10,15 co 20“
c、光标定位到第10行,非插入模式下输入 “ma”,光标定位到第15行,非插入模式下输入“mb”,光标定位到第20行,非插入模式下输入“mc”,然后在非插入模式下输入“ 'a,'b co 'c ”
d、光标定位到第10行,非插入模式下输入 “ma”,光标定位到第15行,非插入模式下输入“mb”,然后在非插入模式下输入“:'a,'b w filename”,再将光标定位到第20行,非插入模式下输入“ :r filename”。
vi在编辑模式下有名称补齐的快捷操作:Ctrl+n. 它可以匹配在本文档中出现的所有单词。具体使用方法是:假如本文当中出现过“hello_world”单词,那么在编辑模式下输入"hel"后按Ctrl+n就会自动补齐后面的字母们。假如经过搜索有好几个匹配项,如之前既出现了"hello_world",又出现过"hello_you",那么在编辑模式下输入"hel"后按Ctrl+n就会列出搜索出来的所有匹配项供你选择。
2、du命令
du -sh directory_one
使用以上命令可以估算当前目录下directory_one目录的大小。
关于du命令的使用可以参考:http://hi.baidu.com/liveinyc/item/61efee716294a23d71442343
3、size命令
size ./sdd
使用以上命令可以查看当前目录下,可执行程序sdd的text、data、bss这三段的大小。
4、strip命令
用size命令显示可执行程序各段的大小时,text、data、bss段三段的大小只和并不等于ls命令查看的可执行文件的大小,原因是用gcc编译之后的可执行文件之包含符号表(便于调试),可以使用strip指令把可执行文件中的符号表删除。
strip -s exe_name
以上形式中-s选项表示删除所有的符号表。
5、time命令
使用time命令可以查看一个执行程序的墙上时间(clock time)、用户cpu时间(user cputime)和系统cpu时间(system cpu time)。
time ./test
以上命令显示当前目录下的test可执行程序在执行过程中所用的一下三个时间:
clock time:从程序执行开始,到程序执行结束,一共用了多长时间(包括时间片轮转时,自己被挂起的时间)
user cpu time:用户指令的执行时间(不包括等待时间)
system cpu time:系统(kenel)指令的执行时间(不包括等待时间)
注:user cpu time和system cpu time的和通常称作cpu time。
6、date命令显示当前时间
7、chown命令改变文件的拥有者
chown root test
以上命令把test文件的拥有者改成root。
8、chmod
chmod o+wtest.c
以上命令对other用户增加对test.c文件的写权限。
chmod o-w test.c
以上命令消除other用户对test.c文件的写权限
注:以上两个命令中o的位置可以改变成u(user)、g(group),w的位置可以改成r(read)、x(excute)、s(set-user-ID标记)
9、accton命令打开进程accounting record,用来记录进程的一些相关的信息,如开始执行时间、usertime、system time、process id、io的字节数、.......
accton /var/account/acct
以上命令打开记录(进程)功能,并把所记录的信息存储在/var/account/acct文件中
accton
以上命令(即accton后面没有任何参数)是关闭记录(进程)功能。
10、ps命令report a snapshot of the current processes.
ps
以上命令可以显示当前进程的一些信息,结果如下
可以添加选项,进而显示更多的信息,例如下面的命令
ps -o pid,ppid,pgid,sid,comm
显示当前进程的process id、parent process id、process group id、sessionid、command等信息,结果如下
10402
26885 10402 26885 10402 ps
例:ps -axj
以上命令可以显示一些后台进程的信息,选项中-a显示所有被其他用户拥有的进程的状态信息,-x显示没有拥有控制终端的进程(包括后台进程),-j显示与job相关的一些信息(如sessionID, 进程组ID,控制终端情况,终端进程组ID等)。
11、cat命令可以显示文本文件的内容
cat
以上命令在屏幕上打印test.t的内容。
cat
以上命令(即,cat没有指定文件时),cat从屏幕读入,再输出到屏幕。此时可以手动输入文件结束标记,以结束cat命令。文件结束标记(EOF)对应的组合键是:ctrl+d.
12、jobs命令
查看当前有多少在后台运行的命令
jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped,Terminated,但是如果任务被终止了(kill),shell从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息;
13、fg命令
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
13、fg命令
将后台中的命令调至前台继续运行
如果后台有多个命令,可以用fg%jobnumber将选中的命令调出,%jobnumber是通过jobs命令查看到的后台正在执行的命令的序号(不是pid),%是可以省略的。
fg %1
fg 1
以上两个命令都是将后台序号为1的job调到前台来运行。
14、bg命令
将前台运行的作业调到后台,【bg %jobnumber】 %号可不要。该命令需要在使用ctrl+z将作业暂停以后再使用。
15、history命令
histoty
以上命令将在屏幕打印前面执行的1000条命令,包括命令编号和命令名称。结果如下:
注:history打印显示的命令是从编号为1024-1000+1开始的。
16、kill命令
kill命令并不是专门用来杀死某个进程,而是向某个进程发送一个特定的信号,不过默认情况下(不指定信号的名称),发送的是SIGTERM信号(用来终止某个进程)。
kill -USR1 1234
以上命令用来向进程ID为1234的进程发送信号SIGUSR1.
kill 1234
以上命令用来向进程ID为1234的进程发送信号SIGTERM.
17、echo命令
echo命令用来在屏幕打印一行字符串。
echo $?
以上命令用来显示之前最后一条命令的终止状态值。
18、alias命令
alias命令用来对经常使用的命令及参数定义别名。
$alias xiang="cd /home"
$xiang
以上两个命令,第一个命令把 cd /home这一命令及其参数重命名为xiang,然后再在需要使用cd/home的地方用xiang代替就可以了。
19、grep命令
grep命令用来搜索一个文件中与某一正则表达式匹配的行,并把他们print出来。
例1:grep xiang file1
以上命令用来查看file1文件中,包含字符串“xiang”的行,并把这些行输出到屏幕上。
例2:grep -A 1 xiang file1
以上命令用来查看file1文件中,包含字符串“xiang”的行,并把这些行以及这些行后的1行输出到屏幕上。
例3:grep -b 1 xiang file1
以上命令用来查看file1文件中,包含字符串“xiang”的行,并把这些行以及这些话前面的1行输出到屏幕上。
20、free命令
free命令用来查看系统的内存总量以及使用情况。
例:free
以上例子有如下的输出:
Mem:
-/+buffers/cache:
Swap:
注以上都是以kb为单位。
21、mount命令
mount命令可以用来挂载文件系统,也可以用来查看当下所用系统的所用文件系统的一些信息。
$mount -T
以上命令用来查看当前系统的所用文件系统的一些信息,-T表示打印文件系统的类型。
$mount /filesystem123 /filesys
以上命令用来将文件系统filesystem123挂载到/filesys文件夹下。
22、mkfs命令
使用mkfs命令可以用来创建文件系统。
$mkfs.ext3 filesystem123
以上命令创建了类型为ext3的文件系统filesystem123.
23、ipcs命令
ipcs命令用于查看系统当前维持的的进程间通信对象的信息。
例如:
ipcs -q
说明:以上命令将系统当前维持的所有消息队列的信息输出到标准输出。
ipcs -m
说明:以上命令将系统当前维持的所有共享内存区的信息输出到标准输出。
ipcs -s
说明:以上命令将系统当前维持的所有信号量的信息输出到标准输出。
注:ipcs命令还有一些对输出内容进行控制的选项。
23、ln命令
ln命令用来创建一个文件的连接(硬链接或软连接)。(make link between files)。例
ln test test_link
说明:以上命令创建文件test的一个硬链接test_link,即路径名test和路径名test_link是指向同一个文件的,只是名字不一样。
ln -s test test_symbolic_link
说明:以上命令创建文件test的一个软连接test_symbolic_link文件,test_symbolic_link文件中包含的内容是test文件的路径,而不是test文件的内容。
注:1、查看各文件大小,会发现:test文件大小与test_link文件大小一样。而test文件大小和test_symbolic_link文件的大小不一样,因为test_symbolic_link文件中存放的只是test文件的路径名。2、用vi、less等命令打开test_symbolic_link文件时,看到的将是test文件的文件内容,因为vi、less命令追踪软连接。3、删除(rm)路径名test_link和test_symbolic_link时不会删除文件test。
24、ls命令
ls dir
以上命令可以查看目录dir下的文件列表。
ls -l dir
以上命令查看目录dir下的文件,并以long format(也就是好多信息)的形式输出这些文件的信息。
ls -l -h dir
以上命令查看目录dir下的文件,并以long format的形式输出这些文件的信息,其中有一项是文件的大小,-h表示以人们(--human)可读的形式显示文件大小(默认情况下是姨字节为单位的)。
25、sed命令(stream editer)
sed命令是stream editer的简称,即sed命令对输入流(从文件读入或从标准输入读入)进行筛选编辑。可以用sed命令筛选出文件中某一行或某几个连续的行的内容。具体使用方法如下:
sed -n 5p filename
以上命令显示文件名为filename的文件中的第5行的内容。
sed -n '5,10p' filename
以上命令显示文件名为filename的文件中的第5行到第10行的内容。
26、wc命令
手册中的描述如下:
NAME
wc - print the number of newlines, words, and bytes in files
SYNOPSIS
wc [OPTION]... [FILE]...
DESCRIPTION
Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With
no FILE, or when FILE is -, read standard input.
-c, --bytes
print the byte counts
-m, --chars
print the character counts
-l, --lines
print the newline counts
-L, --max-line-length
print the length of the longest line
-w, --words
print the word counts
--help display this help and exit
--version
output version information and exit