写在上面:
1,《你一定要晓得的关于Linux文件目录操作的12个常用命令》是楼主搜集的关于Linux文件目录操作最常用的命令,包括文件或目录的新建、拷贝、移动、删除、查看等,是开发人员操作Linux系统的常用命令,所以你一定要晓得。
2,《你一定要晓得的关于Linux文件目录操作的12个常用命令》适合初学者,对于Linux前辈的请绕开,不过欢迎一起讨论学习!
3,这次搜集,谢谢来自的分享,若须要更详尽的资料请关注。
下边开始一起学习吧:
1,mkdir命令
mkdir拿来创建指定名称的目录,要求创建目录的用户在当前目录中具有写权限,而且指定的目录名不能是当前目录中已有的目录。
(1)命令格式:mkdir[选项]目录
(2)命令功能:在指定位置创建指定文件名命名的文件夹或目录,要创建文件夹或目录的用户必须对所创建的文件夹的父文件治具有写权限,且同一个目录下不能有重名的。
(3)命令参数:
-m,--mode模式设定权限(类似chmod),而不是rwxrwxrwx
-p,--parents可以是一个路径的名称,此时若路径中的个别目录不存在,加上此选项后系统将手动构建好这些尚不存在的目录,即一次可以构建多个目录
-v,--verbose创建当前新目录或文件时显示信息,如“已创建目录test6”
(4)命令实例:
①创建一个空目录
mkdirlijl_bj1
②递归创建多个目录
mkdir–p./lijl_bj1/test(./表示当前目录,../表示上级目录,/表示根目录)
③创建权限为777的目录
mkdir–m777test777
④创建新目录显示信息
mkdir–vtest
⑤创建项目的目录结构
mkdir–vp
src/{com/sitech/{admin/{entity/,dao/,service,controller},common/util/},config/}
(5)注意事项:
最后一个实例⑤对次序是有要求的,即在-vp时才表示-v–p操作,而若是-pv则在上述句子中会默认为创建-vp目录。
2,ls命令
缺省下拿来复印当前目录的清单,假如ls指定其他目录,这么都会显示指定目录的文件及文件夹清单。通过ls命令除了可以查看linux文件夹包含的文件,但是可以查看文件权限(包括目录、文件夹、文件)、查看目录信息等。
(1)命令格式:ls[选项][目录名]
(2)命令功能:列举目标目录中所有的子目录和文件
(3)命令参数:
-a,列举目录下的所有文件,包括以.开头的蕴涵文件
-c配合-lt按照ctime排序及依据ctime(文件状态最后修改的时间)
配合-l显示ctime但按照名称排序
-l不仅文件名之外,还将文件的权限、所有者、文件大小等信息详尽列下来
-t以文件的更改次序排序
-u配合-lt显示访问时间,但是根据访问时间排序
配合-l显示访问时间,但按照名称排序
-v根据版本进行排序
-x逐行列举项目,而不是逐栏列举
-X按照扩充名进行排序
-1每行只列举一个文件
-F可以在显示子目录的时侯在它的文件名以后加一个“/”,而文件前面的“*”表示这是一个可执行程序
(4)常用实例:
①列出/lijl_bj1/com/src文件夹下的所有文件和目录的详尽情况
步入lijl_bj1目录,ls–l–R(或-lR)src
②列出当前目录中所有以“s”开头的所有文件目录的信息,
ls–ls*
③只列举文件下的子目录:
ls-F./src|grep/$列举src目录下边的子目录
结果:com/,config/
④列出目前工作目录下所有档案及目录;目录于名称后加"/",可执行档案名称后加"*"
ls–AF
3,cd命令
cd命令是Linux上面最基本的命令,好多其他命令都是构建在它的基础之上的
(1)命令格式:cd[目录名]
(2)命令功能:切换当前目录至dirName
(3)常用范例:
①进入系统根目录
cd/
②进入当前目录的上一级目录:cd..或则cd..//
③进入当前用户的主目录
cd或则cd~
④跳转到指定目录
cd/echncms/lijl_bj1(根目录下步入)
跳转到指定目录,从根目录开始,目录名称前加“/”,当前目录的子目录写名称即可。
⑤返回步入此目录之前所在的目录
cd–
⑥把上个命令的参数作为cd参数使用
cd!$
(4)注意事项:
跳转到指定目录,从根目录开始,目录名称前加“/”,当前目录的子目录写名称
4,pwd命令
使用“pwd”命令来查看“当前工作目录”的完整路径,每每你在终端进行操作时,就会有一个当前工作目录64位linux,在不太确定当前位置时,可以使用pwd命令来查看当前目录再文件系统里的准确位置。
(1)命令格式:pwd[选项]
(2)命令功能:查看“当前工作目录”的完整路径
常用参数:通常情况下不使用任何参数,假如目录是链接时,pwd–P显示出实际路径,而非使用链接路径。若当前路径被删掉了,pwd显示的仍是原路径。
5,rm命令
该命令的功能是删掉一个目录中的一个或多个文件或目录,它也可以将某个目录及其以下的所有文件及目录均删掉,对于链接文件,只是删掉了链接,原有文件保持不变。
(1)命令格式:rm[选项]文件
(2)命令功能:删掉指定目录中的一个或多个文件或目录,假如没有使用-r选项,则rm不会删掉目录,假如使用rm来删掉文件,一般仍可以将文件恢复原状。
(3)命令参数:
-f,--force忽视不存在的文件,从不给出提示
-i,--interactive进行交互式地删掉
-r,-R,--recursive指示rm将参数中列举的全部目录和子目录均递归地删掉
-v,--verbose详尽显示进行的步骤
(4)命令实例:
①删除文件file,系统会先寻问是否删掉,rm–ilog.log,输入y以后还会删掉
②强行删掉file,系统不再提示rm–flog1.log
③删除任何.log文件,删掉前逐一寻问rm–i*.log
④将test1子目录及子目录中所有档案都删掉rm–rtest
⑤将test2子目录及子目录中所有档案都删掉,而且不用一一寻问
rm–rftest2(常用)
⑥删除以-f开头的文件
rm---f
⑦自定义回收站功能:
myrm(){D=/tmp/$(date+%Y%m%d%H%M%S);mkdir–p$D;mv“$@”$D&&echo“movedto$Dok”;}
6adobe air linux,rmdir命令
rmdir是常用的命令,该命令的功能是删掉空目录,一个目录被删掉之前必须是空的。注意(rm–rdir命令可替代rmdir,而且有很大危险性),删掉某目录时也必须对父目录有写权限。
(1)命令格式:rmdir[选项]…目录…
(2)命令功能:该命令从一个目录中删掉一个或多个子目录项,删掉某目录时也必须对父目录有写权限。
(3)命令参数:
-p递归删掉目录dirname,当子目录删掉后其父目录为空时,也一齐被删掉,假如整个路径被删掉或则因为某种缘由保留部份路径,则系统在标准输出上显示相应的信息。
-v,--verbose显示指令执行过程
(4)命令实例:
①rmdir不能删掉非空目录rmdirlijl_bj1,该命令不能直接删掉非目录
②rmdir–p当子目录被删掉后使它也一并成为空目录的话,则顺便一起删掉
7,mv命令
mv命令是move的简写,可以拿来联通文件或则将文件更名(move(rename)files),是Linux系统下常用的命令,时常拿来备份文件或则目录。
(1)命令格式:mv[选项]源文件或目录目标文件或目录
(2)命令功能:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统联通文件时,mv先拷贝,再将原有文件删掉,而链接该文件的链接也将遗失。
(3)命令参数:
-b:若须要覆盖文件,则覆盖前先行备份
-f:force强制的意思,假如目标文件已存在,不会寻问而直接覆盖
-i:若目标文件早已存在时,才会寻问是否覆盖。
-t:--target–directory,即指定mv的目标目录,该选项适用于联通多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
(4)命令实例:
①文件更名:将文件test.log更名为test1.txt
mvtest.logtest1.txt
②移动文件:将test1.log文件移至test3
mvtest1.logtest3
③将文件log1.txt,log2.txt,log3.txt移至目录test中
mvlog1.txtlog2.txtlog3.txttest
mv–t/opt/soft/test/log1.txtlog2.txtlog3.txt
④将文件file1更名为file2,假如file2早已存在,则寻问是否覆盖
mv–ilog1.txtlog2.txt
⑤将文件file1更名为file2,即时file2存在,也是直接覆盖掉
mv–flog3.txtlog2.txt
log3.txt的内容直接覆盖了log2.txt内容,-f这是个危险的选项,使用时侯一定要保持脑子清醒,通常情况下最好不用加上它。
⑥目录的联通
mvdir1dir2
假如目录dir2不存在,将目录dir1更名为dir2,否则将dir1联通到dir2中
⑦移动当前文件夹下的所有文件到上一级目录
mv*../
⑧把当前目录的一个子目录里的文件联通到另一个子目录里
mvtest3/*.txttest5
⑨文件被覆盖前做简单备份,上面加参数-b
mvlog1.txt–blog2.txt
说明:-b不接受参数,mv会去读取环境变量VERSION_CONTROL来作为备份策略。--backup该选项指定假如目标文件存在时的动作,共有四种备份策略:
1.CONTROL=none或off:不备份。
2.CONTROL=numbered或t:数字编号的备份
3.CONTROL=existing或nil:假如存在以数字编号的备份,则继续编号备份m+1...n:
执行mv操作前已存在以数字编号的文件log2.txt.~1~,这么再度执行将形成log2.txt~2~,以次类推。假如之前没有以数字编号的文件,则使用下边提到的简单备份。
4.CONTROL=simple或never:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再度被覆盖时,简单备份也会被覆盖。
mv不会创建新目录,只能将源目录或源文件移入已创建好的目录,若目标文件或文件夹不存在时,将只会是更名,而不是联通文件或目录
8,cp命令
cp命令拿来复制文件或则目录,是Linux系统中最常用的命令之一。通常情况下linux 文件按时间排序,shell会设置一某些名,在命令行复制文件时,假若目标文件已存在,还会寻问是否覆盖,不管你是否使用参数-i,但若果是在shell脚本中执行cp时,没有参数-i时不会寻问是否覆盖,这说明命令行和shell脚本的执行方法有些不同。
(1)命令格式:cp[选项]…[-T]源目的
或cp[选项]…源…目录
或cp[选项]…-t目录源…
(2)命令功能:将源文件复制至目标文件,或将多个源文件复制至目标文件
(3)命令参数:
-i,--interactive覆盖前寻问(使上面的-n选项失效)
-n,--no-clobber不要覆盖已存在的文件(使上面的-i选项失效)
-R,-r,--recursive复制目录及目录内的所有项目
(4)命令实例:
①复制单个文件到目标目录,文件在目标文件中不存在
cplog.logtest5
在没有带-a参数时,两个文件的时间是不一样的,在带来-a参数时,两个文件的时间是一致的。
②目标文件存在时,会寻问是否覆盖。
cplog.logtest5
目标文件存在时,会寻问是否覆盖,这是由于cp是cp–i的别称,目标文件存在时,即时加了-f标志,也就会寻问是否覆盖。
③复制整个目录
cp–atest3test5
注意目标目录存在与否结果是不一样的,目标目录存在时,整个源目录被复制到目标目录上面。
④复制的log.log构建一个链接档案log_link.log
cp–slog.loglog_link.log
⑤那个log_link.log是由-s的参数导致的,构建的是一个【快捷方法】,所以会看见在文件的最左边,会显示这个文件是链接到那里去的。
9,touch命令
Linux的touch命令不常用,通常在使用make的时侯可能会用到,拿来更改文件时间戳,或则新建一个不存在的文件。
(1)命令格式:touch[选项]…文件…
(2)命令功能:touch命令参数可修改文档或目录的日期时间,包括存取时间和修改时间。
(3)命令参数:
-a或--time=atime--time=access或--time=use只修改存取时间
-c或--no-create不完善任何文档
-d使用指定的日期时间,而非如今的时间
-m或--time=mtime或--time=modify只更改变动时间
-r把指定文档或目录的日期时间,统统设成和参考文档和目录的日期时间相同
-t使用指定的日期,而非如今的时间
(4)常用实例:
①创建不存在的文件:
touchlog2015.loglog2016.log
假如log2014.log不存在,则不创建文件
②更新log.log的时间和log2015.log时间戳相同
touch–rlog2015.loglog.log
③设定文件的时间戳
touch–t2.50log.log
-ttime使用指定的时间值time作为指定文件相应时间戳记的新值.此处的time规定为如下方式的十补码数:
[[CC]YY]MMDDhhmm[.SS]
这儿,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.假若不给出CC的值,则touch将把年数CCYY限定在1969--2068之内.MM为月数,DD为天将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数linux 文件按时间排序,hh为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这种数字组成的时间是环境变量TZ指定的时区中的一个时间.因为系统的限制,早于1970年1月1日的时间是错误的。
10,cat命令
cat命令的用途是联接文件或标准输入并复印,这个命令常拿来显示文件内容,或则将几个文件联接上去显示,或则从标准输入读取内容并显示,它常与重定向符号配合使用。
(1)命令格式:cat[选项][文件]…
(2)命令功能:cat主要有三大功能:
①一次显示整个文件:catfilename
②从鼠标创建一个文件:cat>filename只能创建新文件,不能编辑已有文件
③将几个文件合并为一个文件:catfile1file2>file
(3)命令参数:
-A,--show-all等价于-vET
-b,--number-nonblank对非空输出行编号
-e等价于–vE
-E,--show-ends在每行结束处显示$
-n,--number对输出的所有行编号,由1开始对所有输出的行数编号
-s,--squeeze-blank有连续两行以上的空白行,就代换为一行的空白行
-t与-vT等价
-T,--show-tabs将跳格字符显示为^I
(4)使用实例:
①把log2012.log的文件内容加上行号后输入log2013.log这个文件
cat–nlog2012.loglog2013.log
②把log2012.log和log2013.log的文件内容加上行号(空白行不加)以后将内容附加到log.log里。
cat–blog2012.loglog2013.loglog.log
③把log2012.log的文件内容加上行号后输入log.log这个文件里
cat–nlog2012.log>log.log
④注意tac是反向列示,tac是将cat反过来,所以它的功能就跟cat相反,cat是由第一行到最后一行连续显示在银幕上,而tac则是由最后一行到第一行反向在荧幕上显示。
11,more命令
more命令功能类似cat,cat命令是整个文件的内容从上到下显示在屏幕上,more会一起一页一页的显示便捷使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键都会往前(back)一页显示,并且还有搜救字串的功能,more命令从前向后读取文件,因而在启动时就加载整个文件。
(1)命令格式:
more[-dlfpcsu][-num][+/pattern][+linenum][file…]
(2)命令功能:more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
(3)命令参数:
+n从第n行开始显示
-n定义屏幕大小为n行
+/pattern在每位档案显示前搜救该字串(pattern),之后从该字串前两行以后开始显示
-c从底部清屏,之后显示
-p通过消除窗口而不是滚屏来对文件进行换页,与-c选项相像
(4)常用操作命令:
Enter向上n行,须要定义,默认为1行
Ctrl+F、空格键向上滚动一屏
Ctrl+B返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号
V调用vi编辑器
q退出more
(5)常用实例:
①显示文件中从第3行起的内容
more+3log2012.log
②从文件中查找第一个出现”day3”字符串的行,并从该处前两行开始显示输出
more+/day3log2012.log
③设定每屏显示行数
more-5log2012.log
最下边显示了该屏展示的内容占文件总行数的比列,按Ctrl+F或则空格键将会显示下一屏5条内容,比率也会跟随变化。
④列一个目录下的文件,因为内容太多,我们应当学会用more来分页,这得和管线|结合上去
ls–l|more-5
每页显示5个文件信息,按Ctrl+F或则空格键将会显示下5条文件信息
12,tail命令
tail命令从指定点开始将文件讲到标准输出流,使用tail命令的-f选项可以便捷的查阅正在改变的日志文件,tail–ffilename会把filename里最尾部的内容显示在屏幕上,而且不但刷新,使你看见最新的文件内容。(时常拿来在查看服务器上的日志文件)
(1)命令格式:tail[必要参数][选择参数][文件]
(2)命令功能:
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理,常用查看日志文件。
(3)命令参数:
-f循环读取
-q不显示处理信息
-v系那是详尽的处理信息
-c显示的字节数
-n显示行数
(4)命令实例:
①显示文件末尾内容
tail–n5log2014.log显示文件最后5行的内容
②循环查看文件内容
tail-ftest.log
③从第5行开始显示文件
tail–n+5log2014.log
好了,同学们,到了这儿,我们的12个常用命令就介绍完了,有兴趣地可以仔细瞧瞧,一定会学到不少东西的!
文章评论