创建博客

This commit is contained in:
lemonchann
2019-11-17 01:12:14 +08:00
commit 6f0c102626
133 changed files with 20640 additions and 0 deletions

View File

@@ -0,0 +1,405 @@
---
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` 文件