linux路径问题(ubuntu查找文件路径)
linux查看路径命令
Linux系统下想要查看当前的路径,那我们该使用那个命令呢?下面由我为大家整理了linux查看路径命令的相关知识,希望对大家有帮助。
目录
linux查看路径命令
linux查看路径的其他命令
linux下查找某个文件位置的方法
linux查看路径命令
查看当前路径命令:pwd
pwd命令能够显示当前所处的路径。
这个命令比较简单,如果有时在操作过程中忘记了当前的路径,则可以通过此命令来查看路径,其执行方式为:
# pwd/home/samlee
第一行为运行的命令,第二行的内容为运行pwd命令后显示的信息,即显示用户当前所在的工作目录的路径为/home/samlee。
提示:
应该经常使用pwd命令。Linux的目录结构非常复杂,一个小小的分支就可能会有十几层目录,就好像是个森林,所以Linux不会像Windows那样把全路径写在提示符里,那样太长了。
<<<
linux查看路径的其他命令
whereis用来查看一个命令或者文件所在的绝对路径,而 which用来查看当前要执行的命令所在的路径。
下面举个例子来说明。加入你的linux系统上装了多个版本的java。如果你直接在命令行敲命令"java-version",会得到一个结果。但是,你知道是哪一个路径下的java在执行吗?如果想知道,可以用 which命令:
which java
得到的结果就是系统默认执行的java所在的路径。
如果使用命令: whereis java
那么你会得到很多条结果,因为这个命令把所有包含java(不管是文件还是文件夹)的路径都列了出来。
<<<
linux下查找某个文件位置的方法
一.通过文件名查找法:
举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录下,甚至在系统的某个地方也不知道,则这是可以使用如下命令:
find/-name httpd.conf
这个命令语法看起来很容易就明白了,就是直接在find后面写上-name,表明要求系统按照文件名查找,最后写上httpd.conf这个目标文件名即可。稍等一会系统会在计算机屏幕上显示出查找结果列表:
etc/httpd/conf/httpd.conf
这就是httpd.conf这个文件在Linux系统中的完整路径。查找成功。
如果输入以上查找命令后系统并没有显示出结果,那么不要以为系统没有执行find/-name httpd.conf命令,而可能是你的系统中没有安装Apache服务器,这时只要你安装了ApacheWeb服务器,然后再使用find/-name httpd.conf就能找到这个配置文件了。
二.无错误查找技巧:
在Linux系统中“find”命令是大多数系统用户都可以使用的命令,并不是ROOT系统管理员的专利。但是普通用户使用“find”命令时也有可能遇到这样的问题,那就是Linux系统中系统管理员ROOT可以把某些文件目录设置成禁止访问模式。这样普通用户就没有权限用“find”命令来查询这些目录或者文件。当普通用户使用“find”命令来查询这些文件目录是,往往会出现"Permissiondenied."(禁止访问)字样。系统将无法查询到你想要的文件。为了避免这样的错误,我们可是使用转移错误提示的方法尝试着查找文件,例如输入:
find/-name access_log 2>/dev/null
这个方法是把查找错误提示转移到特定的目录中去。系统执行这个命令后,遇到错误的信息就直接输送到stderrstream2中,access_log2就是表明系统将把错误信息输送到stderrstream2中,/dev/null是一个特殊的文件,表明空的或者错误的信息,这样查询到的错误信息将被转移了,不会再显示了。
在Linux系统查找文件也会遇到这样一个实际问题。如果我们在整个硬盘,这个系统中查找某个文件就要花费相当长的一段时间,特别是大型Linux系统和容量较大的硬盘,文件放在套嵌很深的目录中的时候。如果我们知道了这个文件存放在某个大的目录中,那么只要在这个目录中往下找就能节省很多时间了。使用find/etc-name httpd.conf就可以解决这个问题。上面的命令就是表示在etc目录中查询httpd.conf这个文件。这里再说明一下“/”这个函数符号的含义,如果输入“find/”就是表示要求Linux系统在整个ROOT目录下查找文件,也就是在整个硬盘上查找文件,而“find/etc”就是只在
etc目录下查找文件。因为“find/etc”表示只在etc目录下查找文件,所以查找的速度就相应要快很多了。
三.根据部分文件名查找方法:
例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:
find/etc-name'_srm_'
这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如absrmyz,tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:
find/etc-name'srm_'
这是只有像srmyz这样的文件才被查找出来,像absrmyz或者absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。
四.根据文件的特征查询方法:
如果只知道某个文件的大小,修改日期等特征也可以使用“find”命令查找出来,这和WINDOWS系统中的“搜索”功能是基本相同的。在微软的“搜索”中,“搜索助理”使得搜索文件和文件夹、打印机、用户以及网络中的其他计算机更加容易。它甚至使在Internet上搜索更加容易。“搜索助理”还包括一个索引服务,该服务维护了计算机中所有文件的索引,使得搜索速度更快。使用“搜索助理”时,用户可以指定多个搜索标准。例如,用户可以按名称、类型及大小搜索文件和文件夹。用户甚至可以搜索包含特定文本的文件。如果用户正使用Active Directory,这时还可以搜索带有特定名称或位置的打印机。
例如我们知道一个Linux文件大小为1,500bytes,那么我们可是使用如下命令来查询find/-size
1500c,字符c表明这个要查找的文件的大小是以bytes为单位。如果我们连这个文件的具体大小都不知道,那么在Linux中还可以进行模糊查找方式来解决。例如我们输入find/-size+10000000c这个命令,则标明我们指定系统在根目录中查找出大于10000000字节的文件并显示出来。命令中的“+”是表示要求系统只列出大于指定大小的文件,而使用“-”则表示要求系统列出小于指定大小的文件。下面的列表就是在Linux使用不同“find"命令后系统所要作出的查找动作,从中我们很容易看出在Linux中使用“find”命令的方式是很多的,“find”命令查找文件只要灵活应用,丝毫不比在WINDOWS中查找能力差。
find/-amin-10#查找在系统中最后10分钟访问的文件
find/-atime-2#查找在系统中最后48小时访问的文件
find/-empty#查找在系统中为空的文件或者文件夹
find/-group cat#查找在系统中属于groupcat的文件
find/-mmin-5#查找在系统中最后5分钟里修改过的文件
find/-mtime-1#查找在系统中最后24小时里修改过的文件
find/-nouser#查找在系统中属于作废用户的文件
find/-user fred#查找在系统中属于FRED这个用户的文件
<<<
linux查看路径命令相关文章:
★ linux查看路径命令
★ linux如何查找命令的路径
★ linux查询路径命令
★ Linux系统中查看当前路径的命令
★ linux查询命令路径
★ Linux中文件查找命令总结
★ linux查询目录命令
★ liunx find(文件查找)命令的介绍
★ Linux系统中tracert命令使用详解
var _hmt= _hmt|| [];(function(){ var hm= document.createElement("script"); hm.src=""; var s= document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s);})();
linux 中 ~/. 是什么意思如题 ~/.local 是怎样一个路径
~代表你的/home/用户明目录假设你的用户名是x,那么~/就是/home/x/.是代表此目录本身,但是一般可以不写所以cd~/.和cd~和cd~/效果是一样的但是.后面有东西又是另外一个问题,点在文件名头部,代表一个隐藏文件~/.local是你的主目录下一个.local的文件夹的路径,并且从.可以看出,这是一个饮藏文件,如果不用ls-a的话,一般ls是无法看到的还有不会的请参考《linux就该这么学》,针对各种linux疑难杂症,帮助linux学习者。
Linux目录及文件如何操作
处理目录的常用命令
接下来我们就来看几个常见的处理目录的命令吧:
ls(英文全拼:list files):列出目录及文件名
cd(英文全拼:change directory):切换目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file):复制文件或目录
rm(英文全拼:remove):删除文件或目录
mv(英文全拼:move file):移动文件与目录,或修改文件与目录的名称
你可以使用 man [命令]来查看各个命令的使用文档,如:man cp。
ls(列出目录)
在Linux系统当中, ls命令可能是最常被运行的。
语法:
[root@www~]# ls [-aAdfFhilnrRSt]目录名称
[root@www~]# ls [--color={never,auto,always}]目录名称
[root@www~]# ls [--full-time]目录名称
选项与参数:
-a:全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d:仅列出目录本身,而不是列出目录内的文件数据(常用)
-l:长数据串列出,包含文件的属性与权限等等数据;(常用)
将家目录下的所有文件列出来(含属性与隐藏档)
[root@www~]# ls-al~
cd(切换目录)
cd是Change Directory的缩写,这是用来变换工作目录的命令。
语法:
cd [相对路径或绝对路径]#使用 mkdir命令创建 runoob目录
[root@www~]# mkdir runoob
#使用绝对路径切换到 runoob目录
[root@www~]# cd/root/runoob/
#使用相对路径切换到 runoob目录
[root@www~]# cd./runoob/
#表示回到自己的家目录,亦即是/root这个目录
[root@www runoob]# cd~
#表示去到目前的上一级目录,亦即是/root的上一级目录的意思;
[root@www~]# cd..
接下来大家多操作几次应该就可以很好的理解 cd命令的。
pwd(显示目前所在的目录)
pwd是 Print Working Directory的缩写,也就是显示目前所在目录的命令。
[root@www~]# pwd [-P]
选项与参数:
-P:显示出确实的路径,而非使用连结(link)路径。
实例:单纯显示出目前的工作目录:
[root@www~]# pwd
/root<==显示出目录啦~
实例显示出实际的工作目录,而非连结档本身的目录名而已。
[root@www~]# cd/var/mail<==注意,/var/mail是一个连结档
[root@www mail]# pwd
/var/mail<==列出目前的工作目录
[root@www mail]# pwd-P
/var/spool/mail<==怎么回事?有没有加-P差很多~
[root@www mail]# ls-ld/var/mail
lrwxrwxrwx 1 root root 10 Sep 4 17:54/var/mail-> spool/mail
#看到这里应该知道为啥了吧?因为/var/mail是连结档,连结到/var/spool/mail
#所以,加上 pwd-P的选项后,会不以连结档的数据显示,而是显示正确的完整路径啊!
mkdir(创建新目录)
如果想要创建新的目录的话,那么就使用mkdir(make directory)吧。
语法:
mkdir [-mp]目录名称
选项与参数:
-m:配置文件的权限喔!直接配置,不需要看默认权限(umask)的脸色~
-p:帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
实例:请到/tmp底下尝试创建数个新目录看看:
[root@www~]# cd/tmp
[root@www tmp]# mkdir test<==创建一名为 test的新目录
[root@www tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4':
No such file or directory<==没办法直接创建此目录啊!
[root@www tmp]# mkdir-p test1/test2/test3/test4
加了这个-p的选项,可以自行帮你创建多层目录!
实例:创建权限为 rwx--x--x的目录。
[root@www tmp]# mkdir-m 711 test2
[root@www tmp]# ls-l
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
上面的权限部分,如果没有加上-m来强制配置属性,系统会使用默认属性。
如果我们使用-m,如上例我们给予-m 711来给予新的目录 drwx--x--x的权限。
rmdir(删除空的目录)
语法:
rmdir [-p]目录名称
选项与参数:
-p:连同上一级『空的』目录也一起删除
删除 runoob目录
[root@www tmp]# rmdir runoob/
将 mkdir实例中创建的目录(/tmp底下)删除掉!
[root@www tmp]# ls-l<==看看有多少目录存在?
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
[root@www tmp]# rmdir test<==可直接删除掉,没问题
[root@www tmp]# rmdir test1<==因为尚有内容,所以无法删除!
rmdir: `test1': Directory not empty
[root@www tmp]# rmdir-p test1/test2/test3/test4
[root@www tmp]# ls-l<==您看看,底下的输出中test与test1不见了!
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
利用-p这个选项,立刻就可以将 test1/test2/test3/test4一次删除。
不过要注意的是,这个 rmdir仅能删除空的目录,你可以使用 rm命令来删除非空目录。
cp(复制文件或目录)
cp即拷贝文件和目录。
语法:
[root@www~]# cp [-adfilprsu]来源档(source)目标档(destination)
[root@www~]# cp [options] source1 source2 source3.... directory
选项与参数:
-a:相当於-pdr的意思,至於 pdr请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档(symbolic link),亦即『捷径』文件;
-u:若 destination比 source旧才升级 destination!
用 root身份,将 root目录下的.bashrc复制到/tmp下,并命名为 bashrc
[root@www~]# cp~/.bashrc/tmp/bashrc
[root@www~]# cp-i~/.bashrc/tmp/bashrc
cp: overwrite `/tmp/bashrc'? n<==n不覆盖,y为覆盖
rm(移除文件或目录)
语法:
rm [-fir]文件或目录
选项与参数:
-f:就是 force的意思,忽略不存在的文件,不会出现警告信息;
-i:互动模式,在删除前会询问使用者是否动作
-r:递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
将刚刚在 cp的实例中创建的 bashrc删除掉!
[root@www tmp]# rm-i bashrc
rm: remove regular file `bashrc'? y
如果加上-i的选项就会主动询问喔,避免你删除到错误的档名!
mv(移动文件与目录,或修改名称)
语法:
[root@www~]# mv [-fiu] source destination
[root@www~]# mv [options] source1 source2 source3.... directory
选项与参数:
-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i:若目标文件(destination)已经存在时,就会询问是否覆盖!
-u:若目标文件已经存在,且 source比较新,才会升级(update)
复制一文件,创建一目录,将文件移动到目录中
[root@www~]# cd/tmp
[root@www tmp]# cp~/.bashrc bashrc
[root@www tmp]# mkdir mvtest
[root@www tmp]# mv bashrc mvtest
将某个文件移动到某个目录去,就是这样做!
将刚刚的目录名称更名为 mvtest2
[root@www tmp]# mv mvtest mvtest2
Linux文件内容查看
Linux系统中使用以下命令来查看文件的内容:
cat由第一行开始显示文件内容
tac从最后一行开始显示,可以看出 tac是 cat的倒着写!
nl显示的时候,顺道输出行号!
more一页一页的显示文件内容
less与 more类似,但是比 more更好的是,他可以往前翻页!
head只看头几行
tail只看尾巴几行
你可以使用 man [命令]来查看各个命令的使用文档,如:man cp。
cat
由第一行开始显示文件内容
语法:
cat [-AbEnTv]
选项与参数:
-A:相当於-vET的整合选项,可列出一些特殊字符而不是空白而已;
-b:列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E:将结尾的断行字节$显示出来;
-n:列印出行号,连同空白行也会有行号,与-b的选项不同;
-T:将 [tab]按键以 ^I显示出来;
-v:列出一些看不出来的特殊字符
检看/etc/issue这个文件的内容:
[root@www~]# cat/etc/issue
CentOS release 6.4(Final)
Kernel \r on an \m
tac
tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac是 cat的倒着写!如:
[root@www~]# tac/etc/issue
Kernel \r on an \m
CentOS release 6.4(Final)
nl
显示行号
语法:
nl [-bnw]文件
选项与参数:
-b:指定行号指定的方式,主要有两种:
-b a:表示不论是否为空行,也同样列出行号(类似 cat-n);
-b t:如果有空行,空的那一行不要列出行号(默认值);
-n:列出行号表示的方法,主要有三种:
-n ln:行号在荧幕的最左方显示;
-n rn:行号在自己栏位的最右方显示,且不加 0;
-n rz:行号在自己栏位的最右方显示,且加 0;
-w:行号栏位的占用的位数。
实例一:用 nl列出/etc/issue的内容
[root@www~]# nl/etc/issue
1 CentOS release 6.4(Final)
2 Kernel \r on an \m
more
一页一页翻动
[root@www~]# more/etc/man_db.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
--More--(28%)<==重点在这一行喔!你的光标也会在这里等待你的命令
在 more这个程序的运行过程中,你有几个按键可以按的:
空白键(space):代表向下翻一页;
Enter:代表向下翻『一行』;
/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f:立刻显示出档名以及目前显示的行数;
q:代表立刻离开 more,不再显示该文件内容。
b或 [ctrl]-b:代表往回翻页,不过这动作只对文件有用,对管线无用。
less
一页一页翻动,以下实例输出/etc/man.config文件的内容:
[root@www~]# less/etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
:<==这里可以等待你输入命令!
less运行时可以输入的命令有:
空白键:向下翻动一页;
[pagedown]:向下翻动一页;
[pageup]:向上翻动一页;
/字串:向下搜寻『字串』的功能;
?字串:向上搜寻『字串』的功能;
n:重复前一个搜寻(与/或?有关!)
N:反向的重复前一个搜寻(与/或?有关!)
q:离开 less这个程序;
head
取出文件前面几行
语法:
head [-n number]文件
选项与参数:
-n:后面接数字,代表显示几行的意思
[root@www~]# head/etc/man.config
默认的情况中,显示前面 10行!若要显示前 20行,就得要这样:
[root@www~]# head-n 20/etc/man.config
tail
取出文件后面几行
语法:
tail [-n number]文件
选项与参数:
-n:后面接数字,代表显示几行的意思
-f:表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
[root@www~]# tail/etc/man.config
#默认的情况中,显示最后的十行!若要显示最后的 20行,就得要这样:
[root@www~]# tail-n 20/etc/man.config