mirror of
https://github.com/kaka111222333/kaka111222333.github.io.git
synced 2025-12-19 00:04:46 +08:00
406 lines
9.0 KiB
Markdown
406 lines
9.0 KiB
Markdown
---
|
||
layout: post
|
||
title: Linux目录与文件
|
||
tags: Linux 命令
|
||
categories: Linux
|
||
---
|
||
|
||
|
||
* TOC
|
||
{:toc}
|
||
|
||
>`.`
|
||
>
|
||
>代表此层目录
|
||
>
|
||
>`..`
|
||
>
|
||
>代表上一层目录
|
||
>
|
||
>`-`
|
||
>
|
||
>代表前一个工作目录
|
||
>
|
||
>`~`
|
||
>
|
||
>代表『目前使用者身份』所在的家目录
|
||
>
|
||
>`~account`
|
||
>
|
||
>代表 account 这个使用者的家目录(account是个帐号名称)
|
||
|
||
---
|
||
|
||
## `cd `
|
||
|
||
**变换目录**
|
||
|
||
---
|
||
|
||
## `pwd`
|
||
|
||
**显示目前所在的目录**
|
||
|
||
[root@www ~]# `pwd [-Pl]`
|
||
|
||
选项与参数:
|
||
|
||
`-P`:显示出真实的路径,而非使用连结 (link) 路径。
|
||
|
||
`-l ` : 显示逻辑路径(默认)
|
||
|
||
---
|
||
|
||
## `mkdir`
|
||
|
||
**创建新目录**
|
||
|
||
[root@www ~]# `mkdir [-mp]` 目录名称
|
||
|
||
选项与参数:
|
||
|
||
`-m` :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
|
||
|
||
`-p` :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
|
||
|
||
---
|
||
|
||
## `rmdir`
|
||
|
||
**删除『空』的目录**
|
||
|
||
[root@www ~]# `rmdir [-p]` 目录名称
|
||
|
||
选项与参数:
|
||
|
||
`-p` :连同上一级『空的』目录也一起删除
|
||
|
||
---
|
||
|
||
## `$PATH`
|
||
|
||
**环境变量**
|
||
|
||
不同身份使用者默认的PATH不同,默认能够随意运行的命令也不同(如root与vbird);
|
||
|
||
PATH是可以修改的,所以一般使用者还是可以透过修改PATH来运行某些位於/sbin或/usr/sbin下的命令来查询;
|
||
|
||
使用绝对路径或相对路径直接指定某个命令的档名来运行,会比搜寻PATH来的正确;
|
||
|
||
命令应该要放置到正确的目录下,运行才会比较方便;本目录(.)最好不要放到PATH当中。
|
||
|
||
---
|
||
|
||
## `ls`
|
||
|
||
**查看文件与目录**
|
||
|
||
[root@linux ~]# `ls [-aAdfFhilRS]` 目录名称
|
||
|
||
[root@linux ~]# `ls [--color={none,auto,always}]` 目录名称
|
||
|
||
[root@linux ~]# `ls [--full-time]` 目录名称
|
||
|
||
选项与参数:
|
||
|
||
`-a` :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来~
|
||
|
||
`-A` :全部的档案,连同隐藏档,但不包括 . 与 .. 这两个目录,一起列出来~
|
||
|
||
`-d` :仅列出目录本身,而不是列出目录内的档案数据
|
||
|
||
`-f` :直接列出结果,而不进行排序 (ls 预设会以档名排序!)
|
||
|
||
`-F` :根据档案、目录等信息,给予附加数据结构
|
||
|
||
>例如: `*`:代表可执行档; `/`:代表目录; `=`:代表 socket 档案; `|`:代表 FIFO 档案
|
||
|
||
`-h` :将档案容量以人类较易读的方式(例如 GB, KB 等等)列出来
|
||
|
||
`-i` :列出 inode 位置,而非列出档案属性
|
||
|
||
`-l` :长数据串行出,包含档案的属性等等数据;
|
||
|
||
`-n` :列出 UID 与 GID 而非使用者与群组的名称
|
||
|
||
`-r` :将排序结果反向输出
|
||
|
||
`-R` :连同子目录内容一起列出来;
|
||
|
||
`-S` :以档案容量大小排序!
|
||
|
||
`-t` :依时间排序
|
||
|
||
`--color=never` :不要依据档案特性给予颜色显示;
|
||
|
||
`--color=always` :显示颜色
|
||
|
||
`--color=auto` :让系统自行依据设定来判断是否给予颜色
|
||
|
||
`--full-time` :以完整时间模式 (包含年、月、日、时、分) 输出
|
||
|
||
`--time={atime,ctime}` :输出 access 时间或 改变权限属性时间 (ctime) 而非内容变更时间 (modification time)
|
||
|
||
---
|
||
|
||
## `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 !
|
||
|
||
最后需要注意的,如果来源档有两个以上,则最后一个目的档一定要是『目录』才行!
|
||
|
||
---
|
||
|
||
## `rm`
|
||
|
||
**移除文件或目录**
|
||
|
||
[root@www ~]# `rm [-fir]` 文件或目录
|
||
|
||
选项与参数:
|
||
|
||
`-f` :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
|
||
|
||
`-i` :互动模式,在删除前会询问使用者是否动作
|
||
|
||
`-r` :递回删除啊!最常用在目录的删除了!这是非常危险的选项!!!
|
||
|
||
---
|
||
|
||
## `mv`
|
||
|
||
**移动文件与目录,或更名**
|
||
|
||
[root@www ~]# `mv [-fiu]` source destination
|
||
|
||
[root@www ~]# `mv [options]` source1 source2 source3 .... directory
|
||
|
||
选项与参数:
|
||
|
||
`-f` :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
|
||
|
||
`-i` :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
|
||
|
||
`-u` :若目标文件已经存在,且 source 比较新,才会升级 (update)
|
||
|
||
---
|
||
|
||
## `basename`,`dirname`
|
||
|
||
**取得路径的文件名称与目录名称**
|
||
|
||
[root@www ~]# `basename` /etc/sysconfig/network
|
||
|
||
network <== 很简单!就取得最后的档名~
|
||
|
||
[root@www ~]# `dirname` /etc/sysconfig/network
|
||
|
||
/etc/sysconfig <== 取得的变成目录名了!
|
||
|
||
---
|
||
|
||
## `cat`
|
||
|
||
**查看文件**
|
||
|
||
[root@www ~]# `cat [-AbEnTv]`
|
||
|
||
选项与参数:
|
||
|
||
`-A` :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
|
||
|
||
`-b` :列出行号,仅针对非空白行做行号显示,空白行不标行号!
|
||
|
||
`-E` :将结尾的断行字节 $ 显示出来;
|
||
|
||
`-n` :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
|
||
|
||
`-T` :将 [tab] 按键以 ^I 显示出来;
|
||
|
||
`-v` :列出一些看不出来的特殊字符
|
||
|
||
## `tac`
|
||
|
||
**反向显示**
|
||
|
||
---
|
||
|
||
## `nl`
|
||
|
||
**添加行号显示**
|
||
|
||
[root@www ~]# `nl [-bnw]` 文件
|
||
|
||
选项与参数:
|
||
|
||
`-b` :指定行号指定的方式,主要有两种:
|
||
|
||
> `-b a` :表示不论是否为空行,也同样列出行号(类似 cat -n);
|
||
>
|
||
> `-b t` :如果有空行,空的那一行不要列出行号(默认值);
|
||
|
||
|
||
|
||
`-n` :列出行号表示的方法,主要有三种:
|
||
|
||
> `-n ln` :行号在萤幕的最左方显示;
|
||
>
|
||
> `-n rn` :行号在自己栏位的最右方显示,且不加 0 ;
|
||
>
|
||
> `-n rz` :行号在自己栏位的最右方显示,且加 0 ;
|
||
|
||
|
||
|
||
`-w` :行号栏位的占用的位数。
|
||
|
||
---
|
||
|
||
## `more`
|
||
|
||
**一页一页翻动**
|
||
|
||
[root@www ~]# `more` /etc/man.config
|
||
|
||
在more查看文件时可在最底行输入:
|
||
|
||
空白键 (`space`):代表向下翻一页;
|
||
|
||
`Enter` :代表向下翻『一行』;
|
||
|
||
`/`字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
|
||
|
||
`:f` :立刻显示出档名以及目前显示的行数;
|
||
|
||
`q` :代表立刻离开 more ,不再显示该文件内容。
|
||
|
||
`b` 或 `[ctrl]-b` :代表往回翻页,不过这动作只对文件有用,对管线无用。
|
||
|
||
---
|
||
|
||
## `less`
|
||
|
||
**一页一页翻动**
|
||
|
||
[root@www ~]# `less` /etc/man.config
|
||
|
||
在more查看文件时可在最底行输入:
|
||
|
||
空白键(`space`) :向下翻动一页;
|
||
|
||
[`pagedown`]:向下翻动一页;
|
||
|
||
[`pageup`] :向上翻动一页;
|
||
|
||
`/`字串 :向下搜寻『字串』的功能;
|
||
|
||
`?`字串 :向上搜寻『字串』的功能;
|
||
|
||
`n` :重复前一个搜寻 (与 / 或 ? 有关!)
|
||
|
||
`N` :反向的重复前一个搜寻 (与 / 或 ? 有关!)
|
||
|
||
`q` :离开 less 这个程序;
|
||
|
||
---
|
||
|
||
## `head`
|
||
|
||
**取出前面几行**
|
||
|
||
[root@www ~]# `head [-n number]` 文件
|
||
|
||
选项与参数:
|
||
|
||
`-n` :后面接数字,代表显示几行的意思
|
||
|
||
---
|
||
|
||
## `tail`
|
||
|
||
**取出后面几行**
|
||
|
||
[root@www ~]# `tail [-n number]` 文件
|
||
|
||
选项与参数:
|
||
|
||
`-n` :后面接数字,代表显示几行的意思
|
||
|
||
`-f` :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
|
||
|
||
---
|
||
|
||
## `od`
|
||
|
||
**非纯文字档**
|
||
|
||
[root@www ~]# `od [-t TYPE]` 文件
|
||
|
||
选项或参数:
|
||
|
||
`-t` :后面可以接各种『类型 (TYPE)』的输出,例如:
|
||
|
||
>`a` :利用默认的字节来输出;
|
||
>
|
||
>`c` :使用 ASCII 字节来输出
|
||
>
|
||
>`d`[size] :利用十进位(decimal)来输出数据,每个整数占用 size bytes
|
||
>
|
||
>`f`[size] :利用浮点数值(floating)来输出数据,每个数占用 size bytes
|
||
>
|
||
>`o`[size] :利用八进位(octal)来输出数据,每个整数占用 size bytes
|
||
>
|
||
>`x`[size] :利用十六进位(hexadecimal)来输出数据,每个整数占用 size bytes
|
||
|
||
---
|
||
|
||
## `touch`
|
||
|
||
**修改文件时间或建置新档**
|
||
|
||
[root@www ~]# `touch [-acdmt]` 文件
|
||
|
||
选项与参数:
|
||
|
||
`-a` :仅修订 access time;
|
||
|
||
`-c` :仅修改文件的时间,若该文件不存在则不创建新文件;
|
||
|
||
`-d` :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
|
||
|
||
`-m` :仅修改 mtime ;
|
||
|
||
`-t` :后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]
|
||
|
||
---
|
||
|
||
## `file`
|
||
|
||
**查看文件类型**
|
||
|
||
[root@www ~]# `file` 文件
|
||
|