Linux中的目录
路径:也就是linux中的目录(文件夹)有绝对路径和相对路径
根目录:/
用户主目录(home directory):位于/home目录下,用户登录时
工作目录(working directory):当前目录
当前目录查看命令:pwd (print working directory)
当前目录:./
当前目录的上一级目录:../或..
返回到上一级目录:cd ..
进入当前目录下的dirfile目录:cd dirfile
cd ~ :进入用户主目录(账号所在目录) 或者直接cd回车
cd - :(回到先前的目录)
创建、删除查看和显示目录
1.创建目录
格式:mkdir [选项] 目录
功能:创建目录
常用选项说明:
-m 创建目录的同时设置访问权限
-p 一次性创建多级目录
【例】:在rootfile文件夹下创建test文件夹,并在test文件夹下创建file文件夹。
[root@localhost rootfile]# mkdir -p test/file
[root@localhost rootfile]# ls
test
[root@localhost rootfile]# cd test
[root@localhost test]# ls
file
[root@localhost test]#
【例】:在rootfile文件夹下创建test2文件夹,并设置test2的权限为766
[root@localhost rootfile]# mkdir -m 766 test2
[root@localhost rootfile]# ls
test test2
[root@localhost rootfile]# ls -l
total 16
drwxr-xr-x 3 root root 4096 Jul 21 21:27 test
drwxrw-rw- 2 root root 4096 Jul 21 21:30 test2
注释:rwxrw-rw-分别对应三种不同用户的权限,分别有三们二进制表示,766对应111 110 110
2.删除目录
格式:rmdir [选项] 目录
功能:删除目录
常用选项说明:
-p 递归删除目录,当子目录删除后其父目录为空时,也一同删除
【例】:删除test下的file目录(文件夹),同时test也一并删除
[root@localhost rootfile]# ls
test test2
[root@localhost rootfile]# rmdir -p test/file
[root@localhost rootfile]# ls
test2
3.查看当前目录
格式:pwd
功能:pwd (print working directory),查看当前目录.
常用选项说明:
【例】:查看当前目录
[root@localhost rootfile]# pwd
/home/rootfile
5.显示目录内容
格式:ls [选项] [文件目录]
功能:显示指定目录中的文件和了目录信息,当不指定目录时,显示当前目录下的文件和子目录信息
常用选项说明:
-a 显示所有文件和子目录,包括隐藏文件和主目录
-l 显示文件和子目录的详细信息,包括文件类型、权限、所有者和所属群组、文件大小、最后修改时间、文件名
-d 如果参数是目录,则只显示目录信息,而不显示其中所包含的文件信息
-t 按时间顺序显示
-R 不仅显示指定目录下的文件和子目录信息,而且还递归地显示子目录下的文件和子目录信息
创建和查看文件
创建文件
格式:touch filename
功能:创建文件
常用选项说明:
【例】:在rootfile下创建文件file.txt和test2/file2.txt
[root@localhost rootfile]# touch file.txt
[root@localhost rootfile]# touch test2/file2.txt
[root@localhost rootfile]# ls
file.txt test2
[root@localhost rootfile]# cd tes*
[root@localhost test2]# ls
file2.txt
cat命令
格式:cat [选项] filename
功能:依次读取filename中的内容
常用选项说明:
【例】:读取rootfile下Test.java和file中的文件内容
[root@localhost rootfile]# ls
file.txt test2 Test.class Test.java
[root@localhost rootfile]# vi test2
[root@localhost rootfile]# vi file*
[root@localhost rootfile]# cat Test.java
public class Test {
public static void main(String args[]) {
System.out.println("Hello Linux!");
}
}
[root@localhost rootfile]# cat Test.java file.txt
public class Test {
public static void main(String args[]) {
System.out.println("Hello Linux!");
}
}
this is a file test.
【例】:把Test.java和file.txt文件合并到combine.txt文件中
[root@localhost rootfile]# cat Test.java file.txt > combine.txt
[root@localhost rootfile]# cat comb*
public class Test {
public static void main(String args[]) {
System.out.println("Hello Linux!");
}
}
this is a file test.
more命令
格式:more [选项] filename
功能:依次读取filename中的内容,该命令与cat的不同是可以逐屏往下翻页显示,按q退出。
常用选项说明:
-p 显示下一屏之前先清屏
-s 文件中连续的空白行压缩成一个空白行显示
【例】:显示file.txt的内容
[root@localhost rootfile]# more file.txt
this is a file test.
【例】:显示Test.java和file.txt的内容
[root@localhost rootfile]# more Test.java file.txt
::::::::::::::
Test.java
::::::::::::::
public class Test {
public static void main(String args[]) {
System.out.println("Hello Linux!");
}
}
::::::::::::::
file.txt
::::::::::::::
this is a file test.
less命令
格式:less [选项] filename
功能:依次读取filename中的内容,该命令与more的不同是不仅可以向下翻页,还可以向上翻页,使用上下键、Enter、空格、pageDown、pageUp可以实现前后翻页,按q退出。
常用选项说明:
【例】:显示Test.java的内容
[root@localhost rootfile]# less Test.java
public class Test {
public static void main(String args[]) {
System.out.println("Hello Linux!");
}
}
head命令
格式:head [选项] filename
功能:显示文件的头几行
常用选项说明:
-n 显示文件的前n行,如果没有n值,默认为10行
【例】:显示Test.java的前3行
[root@localhost rootfile]# head -3 Test.java
public class Test {
public static void main(String args[]) {
System.out.println("Hello Linux!");
tail命令
格式:tail [选项] filename
功能:显示文件的末尾几行
常用选项说明:
+n 从第n行开始显示
-n 显示文件的最后n行,如果没有n值,默认为最后10行
【例】:显示Test.java的最后3行
[root@localhost rootfile]# tail -3 Test.java
System.out.println("Hello Linux!");
}
}
文件查找
格式:find [选项] filename
功能:从指定的目录开始,递归地搜索其子目录,查找满足条件的文件并对之采取相关的操作
常用选项说明:
-name ‘字串’ 要查找的文件名,可以用通配符*、?、[]
-group ‘字串’ 文件所属的用户组名
-user 文件所属的用户名
find命令提供的查询条件可以是一个用逻辑符and、or、not组成的复合条件
-a 逻辑与
-o 逻辑或
-! 逻辑非
【例】:查找当前目录下文件名含有Test的文件
[root@localhost rootfile]# find -name 'Test*'
./Test.class
./Test.java
【例】:在根目录下查找文件名为’temp’或是匹配’install*’的所有文件
[root@localhost rootfile]# find / -name 'temp' -o -name 'instal*'
/etc/rhgb/temp
/etc/yum/pluginconf.d/installonlyn.conf
/etc/vmware-tools/installer.sh
/software/tomcat5/webapps/docs/appdev/installation.html
/software/tomcat5/temp
/sbin/install-info
/sbin/installkernel
/usr/share/aclocal-1.9/install-sh.m4
/usr/share/icons/Bluecurve/96x96/mimetypes/install.png
/usr/share/icons/Bluecurve/24x24/mimetypes/install.png
/usr/share/icons/Bluecurve/16x16/mimetypes/install.png
/usr/share/icons/Bluecurve/48x48/mimetypes/install.png
/usr/share/aclocal-1.7/install-sh.m4
/usr/share/doc/cyrus-sasl-lib-2.1.22/install.html
/usr/share/doc/sgml-common-0.6.3/html/install-catalog.html
/usr/share/doc/m2crypto-0.16/demo/Zope27/install_dir
/usr/share/doc/m2crypto-0.16/demo/ZopeX3/install_dir
/usr/share/doc/libstdc++-devel-4.1.1/html/install.html
……
【例】:在rootfile下查找不含Test*的文件
[root@localhost rootfile]# find ! -name 'Test*'
.
./.Test2.swp
./1q
./.Test.java.swp
./test2
./test2/file2.txt
./combine.txt
./file.txt
文字统计命令
格式:wc [选项] filename
功能:统计文件的字节数、字数、行数
常用选项说明:
-c 统计字节数
-l 统计行数
-w 统计字数
【例】:统计Test.java的字节数、行数、字数
[root@localhost rootfile]# wc Test.java
5 14 105 Test.java
[root@localhost rootfile]# wc -wcl Test.java
5 14 105 Test.java
复制、移动和删除文件或文件夹
cp 命令
格式:cp [选项] 源目录或文件 目标目录或文件
功能:将给出的文件或目录复制到另一个文件或目录中
常用选项说明:
-b 若存在同名文件,则覆盖前备份原来的文件
-f 强制覆盖同名文件
-r或R 按递归方式,保留原目录结构复制文件
【例】:复制file.txt文件到file2,若file2已经存在,则备份file2.
[root@localhost rootfile]# ls
1q combine.txt file.txt test2 Test.class Test.java
[root@localhost rootfile]# cp -b file.txt file2
[root@localhost rootfile]# ls
1q combine.txt file2 file.txt test2 Test.class Test.java
[root@localhost rootfile]# cp -b file.txt file2
cp: overwrite `file2'? n
[root@localhost rootfile]# ls
1q combine.txt file2 file.txt test2 Test.class Test.java
[root@localhost rootfile]# cp -b file.txt file2
cp: overwrite `file2'? y
[root@localhost rootfile]# ls
1q combine.txt file2 file2~ file.txt test2 Test.class Test.java
【例】:把test2文件复制到test3文件夹
[root@localhost rootfile]# ls
1q combine.txt file2 file2~ file.txt test2 Test.class Test.java
[root@localhost rootfile]#
[root@localhost rootfile]# cp -r test2 test3
[root@localhost rootfile]# ls
1q combine.txt file2 file2~ file.txt test2 test3 Test.class Test.java
mv命令
格式:mv [选项] 源目录或文件 目标目录或文件
功能:移动或重命名文件或目录
常用选项说明:
-b 若存在同名文件,则覆盖前备份原来的文件
-f 强制覆盖同名文件
【例】:将/home/rootfile下的Test.java移动到/home/rootfile /test2下
[root@localhost rootfile]# mv Test.java test2/Test
[root@localhost rootfile]# ls -R
.:
1q combine.txt file2 file2~ file.txt test2 test3 Test.class
./test2:
file2.txt Test
./test3:
file2.txt
rm 命令
格式:rm [选项] 文件夹或目录
功能:删除文件夹或目录
常用选项说明:
-f 强制删除文件,不出现确认提示
-r或R 按递归方式删除目录,默认只删除文件
【例】:删除当前目录下的test3文件夹
[root@localhost rootfile]# ls
1q combine.txt file2 file2~ file.txt test2 test3 Test.class
[root@localhost rootfile]# ls test3
file2.txt
[root@localhost rootfile]# rm -r test3
rm: descend into directory `test3'? y
rm: remove regular empty file `test3/file2.txt'? y
rm: remove directory `test3'? y
[root@localhost rootfile]# ls
1q combine.txt file2 file2~ file.txt test2 Test.class
【例】: 强制删除当前目录下的test2文件夹
[root@localhost rootfile]# ls
1q combine.txt file2 file2~ file.txt test2 Test.class
[root@localhost rootfile]# rm -rf test2
[root@localhost rootfile]# ls
1q combine.txt file2 file2~ file.txt Test.class