Linux命令(1): cd pwd ls su

来源:互联网 发布:'中国网络墙 编辑:程序博客网 时间:2024/05/30 20:08

学习参考的博客余波每天一个Linux命令


1. cd [dirName]

cd /    :进入根目录
cd .. 或者 cd ..//    :返回上一级目录,两者等价
cd ../..//  :进入当前目录的父目录的父目录
cd 或者 cd ~   :进入当前用户的主目录(家目录)

~ 在Linux中代表用户的主目录,
对于一般用户 ‘~’表示/home/(用户名)
对于root用户 ‘~’表示/root
我们可以参考Linux的目录结构,发现/home和/root平级
家目录主要用来存放用户个人信息的相关东西;

cd /usr/local   :进入指定目录
cd -    :返回进入当前目录之前所在的目录
cd !$  :将上个cd命令的参数作为本次 cd 命令的参数使用;
[qian@localhost home]$ cd qian[qian@localhost ~]$ cd /usr/local[qian@localhost local]$ cd -/home/qian[qian@localhost ~]$ cd -/usr/local[qian@localhost local]$ cd !$cd -/home/qian

2. pwd [命令参数]

查看 ”当前工作目录“ 的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。

pwd     :查看当前工作目录的完整路径
pwd -P  :显示出实际路径,而非使用连接(link)路径;
/bin/pwd -P     :输出物理路径
/bin/pwd -L     :目录连接链接时,输出连接路径

在此我们补充知识:Linux的软连接和硬链接知识:参考出处
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link) (软连接)。默认情况下,ln命令产生硬链接;

硬链接 Hard Link:

硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,同一个索引节点(类似于指针)指向多个文件名是存在的。一般这种连接就是硬连接。

硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建

软连接: Symbolic Link:

软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在软连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。当删除原始文件后,硬连接不受影响,但是符号连接文件就会失效。

1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接

区别:
硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统

作用:
1,安全备份
2,为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

注意点:

第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;

第二,软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间;硬链接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

举例:

[oracle@Linux]$ touch f1          #创建一个测试文件f1[oracle@Linux]$ ln f1 f2          #创建f1的一个硬连接文件f2 (相当于备份文件)[oracle@Linux]$ ln -s f1 f3       #创建f1的一个符号连接文件f3 (相当于一个快捷方式)[oracle@Linux]$ ls -li            # -i参数显示文件的inode节点信息

输出结果:

#inode: 14419781441978 -rw-rw-r--. 2 qian qian    0 1016 10:27 f1#inode: 14419781441978 -rw-rw-r--. 2 qian qian    0 1016 10:27 f2#inode 1441979 f3 -> f11441979 lrwxrwxrwx. 1 qian qian    2 1016 10:31 f3 -> f1

从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为1441978,然而符号连接文件的inode节点不同;

[oracle@Linux]$ echo "I am f1 file" >>f1[oracle@Linux]$ cat f1I am f1 file[oracle@Linux]$ cat f2I am f1 file[oracle@Linux]$ cat f3I am f1 file#删除f1[oracle@Linux]$ rm -f f1#硬链接f2还在[oracle@Linux]$ cat f2I am f1 file#软连接f3还在[oracle@Linux]$ cat f3cat: f3: No such file or directory

通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效

总结
依此您可以做一些相关的测试,可以得到以下全部结论:
1).删除符号连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。


3 ls [参数] [目录名]

ls命令是list的缩写;缺省下ls用来打印出当前目录的清单;如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。
通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。

  • -a, (all) 列出目录下的所有文件,包括以 . 开头的隐含文件;
  • -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
  • -h, 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
  • –si 类似 -h,但文件大小取 1000 的次方而不是 1024
  • -i, (inode) 印出每个文件的 inode 号
  • -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
  • -L, 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息
  • -R, 同时列出所有子目录层
  • -s, (size) 以块大小为单位列出所有文件的大小
  • -S 根据文件大小排序
  • -t 以文件修改时间排序
  • -x 逐行列出项目而不是逐栏列出
  • -X 根据扩展名排序
  • -1 每行只列出一个文件

示例演示:

ls -l -R /tmp   :列出 /tmp 文件夹下的所有文件和目录的详细资料ls -lR /tmp
ls -l t*    :列出当前目录中所有以“t”开头的目录的详细内容
find $PWD | xargs ls -ld   :递归列出当前目录下的所有文件(包括隐藏文件)的绝对路径

4. su

su - root
su - qian
原创粉丝点击