linux操作实例,linux下的一些文档操作实例 | Soo Smart!

Linux下操作文件及文件夹大多是通过命令来实现的。这里列出一些常用的操作。

首先了解一下一些特殊的目录名。

. 代表此层目录

.. 代表上一层目录

- 代表前一个工作目录

~ 代表『目前使用者身份』所在的家目录

~account 代表 account 這個使用者的家目录(account是個账户名称)

这里有个问题就是根目录下有没有上层目录(..) 存在? 答案是有,而且与根目录自身(.)是一个目录。

目录的一些基本操作:

cd:更换目录(change directory)

pwd:显示目前的目录

mkdir:建立一个新的目录

rmdir:刪除一个空的目录

一些实例:

//# 先切换身份成為 root 看看!

[dmtsai@study ~]$ su -

[root@study ~]# cd [相对路径或者绝对路径]

# 最重要的就是目录的相对路径或者绝对路径,还有一些特殊目录的符号!

[root@study ~]# cd ~dmtsai

# 代表去到 dmtsai 這个使用者的家目录,亦即 /home/dmtsai

[root@study dmtsai]# cd ~

# 表示回到自己的家目錄,也就是 /root 这个目录

[root@study ~]# cd

# 沒有加上任何路径,也还是代表回到自己家目录的意思!

[root@study ~]# cd ..

# 表示去到目前的上层目录,也即是 /root 的上层目录的意思;

[root@study /]# cd -

# 表示回到刚刚的那个目录,也就是 /root ~

[root@study ~]# cd /var/spool/mail

# 这个就是绝对路径!直接指定要去的完整路径名称!

[root@study mail]# cd ../postfix

# 这个是相对路径的写法,我们由/var/spool/mail 去到/var/spool/postfix 就这样写!

创建目录的写法

如何创建一个目录?mkdir folder

如何同时创建多个目录

mkdir folder1/subfolder2/subfolder3

这样是不行的,因为创建subfolder3时subfloder2和folder1都还没有创建!

需要通过option -p来实现:

mkdir -p folder1/subfolder2/subfolder3

如何创建目录的同时给它设置权限?

mkdir -m 711 myfolder

如果没有-m选项来设置权限的话,该folder的默认权限由系统预先定义的权限来设置新建的文件夹

这个系统预先设置的权限由umask来设置的

umash 033

表示将usergroup和others的写和执行权限删除。

umask 的分數指的是『该预设的值需要减掉的权限!』因為 r、w、x 分別是 4、2、1 分

如何列出目录下的所有子目录和文件?

[root@study ~]# ls [-aAdfFhilnrRSt] 文件名或目录名称..

[root@study ~]# ls [--color={never,auto,always}] 文件名或目录名称..

[root@study ~]# ls [--full-time] 文件名或目录名称.

选项和参数:

-a :全部的文档,连同隐藏文件( 开头为 . 的文档) 一起列出来(常用)

-A :全部的文档,连同隐藏文档,但不包括 . 与 .. 这两个文档

-d :仅列出目录本身,而不是列出目录内的文档资料(常用)

-f :直接列出結果,而不进行排序 (ls 默认会以文件名排序)

-F :根据文件、目录等信息,給予附加资料排序,例如:

*:代表可執行檔; /:代表目錄; =:代表 socket 檔案; |:代表 FIFO 檔案;

-h :将文档容量以人力可读的方式(例如 GB, KB 等等)列出來;

-i :列出 inode 号码;

-l :长资料串列出,包含文档的属性和权限等等信息;(常用)

-n :列出 UID 與 GID 而非使用者與群組的名稱 (UID與GID會在帳號管理提到!)

-r :將排序結果反向輸出,例如:原本檔名由小到大,反向則為由大到小;

-R :連同子目錄內容一起列出來,等於該目錄下的所有檔案都會顯示出來;

-S :以檔案容量大小排序,而不是用檔名排序;

-t :依時間排序,而不是用檔名。

--color=never :不要依據檔案特性給予顏色顯示;

--color=always :顯示顏色

--color=auto :讓系統自行依據設定來判斷是否給予顏色

--full-time :以完整時間模式 (包含年、月、日、時、分) 輸出

--time={atime,ctime} :輸出 access 時間或改變權限屬性時間 (ctime)

而非內容變更時間 (modification time)

如何复制文件和目录?有哪些注意事项?

[root@study ~]# cp [-adfilprsu] 源文件(source) 目标文件或目录(destination)

[root@study ~]# cp [options] source1 source2 source3 .... directory

选项和参数:

-a :相当于-dr --preserve=all 的意思 (常用)

-d :若源文件为(link file),则复制连接文档属性而非文件本身;

-f :为強制(force)的意思,若目标文件已经存在且无法打开,则移除后再尝试一次;

-i :若(destination)已存在,在覆盖时会先咨询是否继续(常用)

-l :进行(hard link)的連結檔建立,而非复制文件本身;

-p :连同文件的属性(权限、用戶、時間)一起复制,而非使用默认的属性(备份常用);

-r :循环复制,用于文件夹的复制;(常用)

-s :复制成为 (symbolic link),亦即『快捷键』文件;

-u :destination 比 source 旧才更新 destination,或 destination 不存在的情況下才复制。

--preserve=all :除了 -p 的权限相关参数外,还加入 SELinux 的属性, links, xattr 等也复制了。

最后需要注意的,如果源文件有两个以上,则最后一个目的文件一定要是『目錄』才行!

复制这个指令非常重要,不同的人来执行复制操作结果可能不同。尤其是-p -a这两个选项对于不同身份的人来说差异很大。

示例一:用root身份,将家目录下的 .bashrc 复制到 /tmp 下,并更名为 bashrc

[root@study ~]# cp ~/.bashrc /tmp/bashrc

[root@study ~]# cp -i ~/.bashrc /tmp/bashrc

cp: overwrite `/tmp/bashrc'? n <==n不覆盖,y為覆盖

# 重複作两次操作,由于 /tmp 底下已存在 bashrc 了,加上 -i 选项后,

# 则在覆盖前会询问使用者是否确认!可以按下 n 或者 y 來二次确认

示例二:更换目录到/tmp,并将/var/log/wtmp复制到/tmp且观察属性:

[root@study ~]# cd /tmp

[root@study tmp]# cp /var/log/wtmp . <==想要复制到目前的目录,最后的.不要忘

[root@study tmp]# ls -l /var/log/wtmp wtmp

-rw-rw-r--. 1 root utmp 28416 Jun 11 18:56 /var/log/wtmp

-rw-r--r--. 1 root root 28416 Jun 11 19:01 wtmp

# 在不加任何选项的情況下,文件的某些属性/权限会改变;

# 这是个很重要的特性!要注意!还有文件建立的时间也不一样了!

# 那如果你想要将文件的所有特性都一起复制过来该怎么办?可以加上 -a !如下所示:

[root@study tmp]# cp -a /var/log/wtmp wtmp_2

[root@study tmp]# ls -l /var/log/wtmp wtmp_2

-rw-rw-r--. 1 root utmp 28416 Jun 11 18:56 /var/log/wtmp

-rw-rw-r--. 1 root utmp 28416 Jun 11 18:56 wtmp_2

# 整个文件属性完全一模一样!这就是 -a 的特性!

参考文档:

http://linux.vbird.org/linux_basic/0220filemanager.php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值