ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux命令学习笔记

linux命令学习笔记

原创 Linux操作系统 作者:majysky 时间:2009-03-19 11:05:28 0 删除 编辑

引用链接

1。阅读man命令的使用手册:# man man
使用手册页存放在:/usr/man的一个字目录下;
文件被命名为:/usr/man/man1/man.1.gz(表示被gzip命令压缩)


2。使用pwd命令查看自己所在的位置:
执行命令:#cd/usr/bin
接着输入:#pwd 会看到:/usr/bin


3.使用find命令在子目录中搜索匹配的文件
(1)查找子目录/usr中的spell命令:#find /usr -name spell -print
(2)查找子目录/usr/bin中最近100天没有使用过的程序:
#finf /usr/bin -type f -atime+100 -print
说明:atime后面接表示日期的数字
mtime接表示天数的数字
(3)使用find命令显示一类文件:# find/usr -name *.ps -print


4。使用whereis命令查找文件,它还可以提供这个文件的二进制可执行文件、源文件和使用手册页存放的位置:
(1)#whereis find
find /usr/bin/find /usr/man/man1/find.1.gz
给出了命令的存放子目录和使用手册存放子目录
(2) #whereis -b find
find:/usr/bin/find给出程序的二进制可执行文件


5。使用locate命令定位文件
(1)查找定位系统所有PostScript格式的文件
#locate *.ps
(2)查找程序完成指定工作:
# apropos search


6。利用ls命令列出当前目录的内容清单:
(1)[home/bball]$ ls
参数1:-m 把文件用逗号隔开显示在一行上
参数2:-x 按水平对齐的方式而不是缺省的垂直对齐方式列出文件:
参数3:-F 区分列出来的(是文件还是子目录)文件类型
参数4:-aF 列出目录文件下所有的文件
参数5:-l 列出文件的全部详细信息
参数6:# ls *.txt 只列出当前文本文件
参数7:# ls -Rd /*/*/* 逐3层列出文件的全部内容

(2)ls指定列出其他的子目录文件内容:# ls /usr/bin



7。使用whatis和apropos命令获取命令简介
(1)了解who命令有什么作用:
执行:#whatis who
显示: who(1) -show who is logged on
按下字母“Q”退出whatis命令


8。使用dir和vdir命令列出子目录的内容清单
dir的使用和ls命令类似:
vdir命令和ls -l命令类似:


9。使用CAT命令列出及合并文件
(1) #cat test.txt
#cat -n test.txt 阅读文件的时候加行号
(2) 查看多个文件
#cat -n text*
#cat test.txt test2.txt
(3) 将test.txt test2.txt合并为test3.txt
#cat test*>test3.txt
(4)将test.txt的内容加到test2.txt文件中
#cat test*>>test3.txt
(5)在不使用文字处理和文本编辑程序的情况下建立一个短的文件。
cat命令可以读去标准输入!建立myfile.txt文件:
命令:#cat > myfile.txt
现在输入文本内容:This is the cat word processor.
按下Ctrl+D组合关闭这个文件。查看文件是否完成:
命令:# ls -l myfile.txt
# cat myfile.txt


10。使用more命令阅读文件:页命令家族。一次阅读一屏或一页。
命令:# more longfile.txt (空格阅读后一页,B键阅读前一页)


11。使用less命令浏览文件
(1)#ls /usr/bin>programs.txt 建立一个名为programs.txt的文件。
#less programs.txt 阅读此文件(B上翻;空格下翻)

(2)详细显示命令:#less -M programs.txt
显示:programs.txt line 91/1221 8%


12。建立新文件touch命令
(1)建立文件:# touch newfile
(2)建立文件:# > newfile2
(3)更新文件建立日期:# touch newfile2
(4) -t参数设定一个具体日期或时间:
命令:# touch -t 1225130000 newfile2
执行:# ls -l --full-time new* 显示文件建立详细信息

13。使用rm删除文件,可一次性删除一个或多个文件
(1)命令:# rm file
# rm file1 file2 file3
# rm file*
(2)安全命令:# rm -i new*
显示:rm :remove newfile ?y
rm :remove newfile2?y
意义:询问是否真的删除文件

(3) 强行删除文件命令:# rm -f new*
删除这个子目录和这个子目录下的所有文件:# rm -fr temp*

14。使用mkdir命令建立子目录
(1)建立一个子目录:# mkdir temp
(2)建立多个子目录:# mkdir temp2 temp3 temp4
(3)在temp下建立子目录:# mkdir temp/child
(4)命令:# mkdir temp5/child

显示:mkdir:cannot make directory temp5/child :No souch file or directory
原因:temp5目录不存在
正确命令:# mkdir -p temp5/parent/child (-p为父操作参数)

15。使用rmdir命令删除子目录
(1)# rmdir tempdirectory 但是这个目录必须是空的
(2)# rmdir -p temp5/parent/child
# rmdir -p temp5/parent/*
必须指明目录完整结构才能删除

16。MV命令给文件改名
(1) # touch file1
# mv file1 file2
将文件file1改名为file2
(2) #mkdir -p temp/temp2/temp3
# mv temp newtemp
(3)参数-b在把某个文件或者子目录的名字改为其他文件或者子目录已经使用过的名字的时候,将会对所有原有的文件或者子目录进行备份。
命令1:# touch uno deux tres
# ls uno deux tres
deux tres uno
# mv uno deux
# ls uno deux tres
ls: uno: No such file or directory
deux tres
注释:在没有-b参数时,不仅是把uno改名为deux还在操作中删除了deux
命令2 # touch uno deux tres
# ls uno deux tres
deux tres uno
# mv -b uno deux
# ls uno deux tres
ls: uno: No such file or directory
deux tres deux~(备份文件)

17。使用cp命令进行拷贝操作
(1)# file1 file2 把文件file1拷贝到文件file2,同时file1文件仍存在。
(2)# cp -i file1 file2
cp : overwrite file2?n
(3)# cp -bi file1 file2
cp : overwirte file2?y
# ls file*
file1file2 file2~ file3
(4)拷贝多个文件
# cp tempdir1/* tempdir2
(5)将文件tempdir1中的所有文件拷贝到tempdir2中
# cp -r tempdir1 tempdir2
(6)只将文件temp1file1拷贝到子目录tempdir3中:
命令:# cp tempdir2/tempdir1/temp1file1 tempdir3
(7)cp命令的-p参数可将存放在几个子目录中的文件
连同他的子目录结构拷贝到另外一个文件中:
命令:# cp -p tempdir2/tempdir1/tempfile1 tempdir3
结果:tempdir3-tempdir2-tempdir1-tempfile1

18。使用ln命令建立硬链接和符号链接:
LN命令可建立良种形式的链接并把文件与其他的文件(包括子目录)链接在一起。
“硬链接”直接链接两个同时保存在相同的文件系统的文件。
“符号连接”用来在扩展到不同的文件系统上的子目录或者文件之间建立链接。

(1)ln命令建立硬链接,必须在命令行中明确指定另一个文件:
命令:# cat > file1
This is file1.
# ln file1 file2
# ls -l file*
显示:-rw-r--r-- 2 bball users 14 Jan 5 13:32 fiel1
-rw-r--r-- 2 bball users 14 Jan 5 13:32 fiel2
命令:# cat file2
This is fiel1
解释:file1和file2完全相同。若删除文件file1,文件file2依然存在。
若修改文件file1,将反映在file2中;若修改文件file2,文件file1也
随之改变。虽可看到两个文件,每个长度都为14个字符,但在硬盘上只有原始文件
占了空间。

(2) ln的-s参数建立符号链接:
命令:# cat > file1
This is file1
# ln -s fiel1 file2
# ls -l fiel*
-rw-r--r-- 1 bball users 14 Jan 5 13:32 fiel1
lrwxrwxrwx 1 bball users 5 Jan 5 13:32 file2 .>file1
注释:箭头表示file2是文件file1的一个符号链接。文件file2的长度比文件file1
要短。二连接的区别:符号链接只不过是指向原始文件的一个假名。如果删除了符号链接,原始文件没什么影响,但一旦删除了原始文件,符号链接一点忙也帮不上:
命令:# rm -f file1
# cat fiel1
cat:fiel1:No such fiel or directory

(3)ln不可以建立对子目录/usr/local/games 的硬链接:但可以建立符号连接:
命令:# ln /usr/local/games paly
显示错误信息: ln:/usr/local/games: hard link not allowed for directory
命令:# ln -s /usr/local/games paly
# ls -l paly
lrwxrwxrwx 1 bball users 16 Jan 5 14:12 paly -> /usr/local/games
现在不必键入长的目录结构:#cd /usr/local/games
只须键入:# cd play ;就可以进入子目录/usr/local/games了。


19。使用Midnight Commander程序处理文件:mc程序是一个对文件进行管理的图形化界面。它是一个可视化的shell。


20。 “规则表达式”:使用特殊的语法对字符串进行匹配的字符串格式。
表达式 匹配情况

* 任意字符
?或者 一个字符
{x} 前导字符x个
{x,y} 前导字符至少x个,但不超过y个
{x,} 前导字符至少x个
(xxx)|(XXX) 前导字符串xxx或者XXX
[xxx]或者[XXX] 在方括号中的字符范围内中的某个字符
[XYZ]+ X、Y\Z至少一次
\x ?或者\等符号字符
^pattern 一行开头的字符排列形式
$pattern 一行结尾的字符排列形式

(1)查找全部扩展名为.txt的文本文件:
命令:#ls *.txt
(2)查找子目录中所有的文件名带有数字的文件:
命令:# ls *0* *1* *2* *3* *4* *5* *6* *7* *8* *9* 有重复文件
避免重复文件:# ls *[0123456789]* 或者 # ls *[0-9]*
找出以数字结尾/开头的文件:# ls *[0-9]/ # ls [0-9]*
命令:# ls [0-9]*[a-z]*[0-9]*
(3) 需要在格式字符串中含有格式匹配字符时:
命令:# ls *\?*


21。使用grep命令在文件内进行搜索,在某文件中找出以数字开头的行:
命令:# grep ^[0-9] guide.txt
(1) egrep命令和grep命令用法不同但都可用规则表达式:
命令:# egrep "\\" guide.txt :文件中含有字符b的行;
(2) fgrep命令不能处理规则表达式;必须使用固定字符串格式:
命令:# fgrep friend guide.txt
(3) grep的-n参数显示行号:
命令:# egrep -n "friend" guide.txt
显示:1243: large extent by the window manager. This friendly program is
5432: copy Linux from a friend who may already have the software
(4) 在文件中反复搜索不同的单词,首先建立一个文件,之后使用-f参数来指定这个文件
命令: #cat > mywords
wonderful
Typewriter
War
# grep -nf mywords guide.txt( 参数n要放在参数f之前)


22。 gzip命令压缩文件
(1)命令:# gzip mydir.tar(命令压缩文件后加一个.gz的扩展名,之后删除原来的文件)
解压缩命令:gunzip或者gizp命令的-d参数解压缩;但必须文件有.gz的扩展名;如果想使用自己的扩展名,可用-S后缀参数:
命令:# gzip -S .gizpped mydir.tar
(2)查看压缩后文件的详细信息:
命令:# gzip -l mydir.tar.gz
compressed uncompr.ratio uncompressed_name
239 10240 97.7% mydir.tar
(3)compress命令压缩文件.z的扩展名;
命令:# compress file
解压缩:# uncompress file.z


23。查看二进制文件使用:strings 命令


24。学习使用shell:

shell的分类:名称 说明
ash 袖珍的sh兼容的shell
bash Boume Again Shell(与ksh 和sh兼容)
csh 对tcsh的一个符号链接
ksh pdksh,公共域Kom(ksh兼容)shell
sh 对bash的一个符号链接
tcsh 与csh兼容的shell
zsh Z-shell,一个与csh、ksh、和sh兼容的shell


(1)改变系统默认的shell为bash
命令:# chsh -s /bin/bash
(2)显示当前用户的环境变量:
命令:# printenv 或者 # set
(3)检查网络连接状态:
命令:# ifconfig
bash:ifconfig:command not found
# whereis ifconfig
ifconfig: /sbin/ifconfig
对经常使用的命令程序,可将起子目录加到shell的$PATH环境变量中:
使用bash shell的export命令将子目录/sbin添加到$PATH变量中:
命令:# ifconfig
bash:ifconfig:command not found
# PATH=$PATH:/sbin ;export PATH
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:250.0.0.0
...
(此方法设置的环境变量只有在登录状态下有效;退出时失笑)
(4)长久的设置环境变量:在子目录中.bash-profile文件中添加路径;
或者在子目录/etc/profile文件中添加路径:
如:在.bash-profile文件中找到下面一行:
PATH=$PATH:$HOME/bin
修改为:PATH=$PATH:$HOME/bin:/sbin
若为根操作员:PATH="/bin:/sbin:/usr/bin"
设置完成后:# source /etc/profile 读入这个新的环境变量

(5)后台程序的控制运行:
启动新终端:# rxvt &
显示: 219 1 R 0:03 rxvt
新终端rxvt被分配一个进程号,使用#ps命令查看进程;

使用shell的kill命令终止程序:# kill 291;
显示:[1]+Terminated rxvt

使用Ctrl+Z可以把一个正在运行的程序放入后台并挂起:
命令:# pine
----program is running ---(ctrl+z)---
Pine suspended.Give the "fg" command to come back .
[1]+ Stopped(signal) pine
# fg
----program returns
挂起pine邮件程序,必须使用pine程序的配置菜单激活挂起功能。
在运行pine程序时,按下S进入设置菜单,再按下C进入配置菜单。然后,
在配置菜单中找到"enable-suspend"选项并把光标移到此选项上,按下X
激活此选项。按下E退出配置界面,按下Y保存退出。

(6)管道的使用:

使用head或tail阅读文件的开头和结尾
(1)显示文件的前两行:
命令:# head -n 2 /usr/doc/LOP/install-guide/install-guide-3.2.html/*.html
(2)查看文件末尾几行:
命令:# tail -n 12 /var/log/messages
(注意:以上命令必须为管理员输入;否则显示:tail:/var/log/messages:Permission denied
以根操作员输入命令:su -c tail -n 12 /var/log/messages)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8092037/viewspace-571514/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 睡觉的诀窍
请登录后发表评论 登录
全部评论

注册时间:2009-03-11

  • 博文量
    13
  • 访问量
    49383