ファイル、入力と出力のLinuxディレクトリ

ファイルのディレクトリ構造

ls 查看文件
ll 查看详细文件
  • ファイルとディレクトリは逆さまツリーに編成されています
  • ルートファイルシステムから起動し、「/」
  • ファイル名は大文字と小文字を区別厳しいです
  • 隠しファイル。ビギニング
  • ファイルのセパレータは「/」であります

ファイルの命名規則

  • 255文字までのファイルの文字
  • 4095までのパスを含むファイル名を含みます
  • カラー
    • ブルー - >フォルダ
    • グリーン - >実行ファイル
    • レッド - >アーカイブ
    • クリアブルー - >リンク・ファイル(Windowsのショートカット)
    • グレー - >その他のドキュメント
    • ホワイト - >ファイル
  • 「/」とNULLに加えて。他のすべての文字を使用することができます
  • 大文字と小文字を区別する

ファイルシステムの構造

/boot # 引导文件的存放位置,内核文件,引导加载器都在此目录
/bin  # 所有用户都可以使用的命令.
/sbin # 管理类命令,即root用户可以使用的命令. system 管理
/lib  # 启动时程序使用的基本库文件,windows库文件以.dll结        尾,linux库文件以.so结尾
/lib64 # 存放x86-64系统上的辅助库文件,windows系统中    program files/program files(x86)
/etc   # 存放配置文件的目录
/home  # 普通用户家目录
/root  # 管理员家目录
/media # 便携式移动设备的挂载点
/mnt   # 临时文件的挂载点
/dev   # 设备文件(硬件设备)和特殊文件存放位置
/opt   # 第三方的应用安装位置
/tmp   # 重启之后清空此文件夹下文件,临时文件的放置点,类似于windows回收站
/usr   # 存放安装程序
/var   # 存放经常变化的文件,比如目录.  /var/log
/proc  # 存放内核启动和进程相关的虚拟文件,(进程被表示文件)
/sys   # 输出当前系统上的硬件相关文件
/srv   # 系统上允许永达ode数据

Linuxアプリケーションの構成

  • バイナリファイル
    • / binに
    • / sbinに
    • / usr / binに
    • / usr / sbinに
    • / usr / local / binに
    • / usr / loacl / sbinに
  • ライブラリファイル
    • / libに
    • / lib64に
    • / usr / libに
    • / usr / lib64に
    • / usr / local / libに
    • / usr / local / lib64に
  • プロファイル
    • /等
    • の/ etc /名前
    • / usr / local /など
  • ヘルプファイル
    • / usr / share / manを
    • / usr / share / doc
    • / usr / local / share / manを
    • / usr / local / share / docの

絶対および相対パスパス

  • 絶対パス
    • ルートを開始
    • 完全なファイルの保存場所
    • あなたは、任意のファイルやフォルダを読み取ることができます
  • 相対パス
    • ルートには始まりません
    • 決定するために、現在位置からの相対
    • 単純にファイルやフォルダを表し
    • カレントディレクトリ..親ディレクトリ

ディレクトリ名とグループ名

# 基名
[root@localhost log]#basename /etc/sysconfig/network-scripts/ifcfg-ens33 
ifcfg-ens33
[root@localhost log]#basename /etc/sysconfig/network-scripts
network-scripts

# 目录名
[root@localhost log]#dirname /etc/sysconfig/network-scripts
/etc/sysconfig
[root@localhost log]#dirname /etc/sysconfig/network-scripts/ifcfg-ens33 
/etc/sysconfig/network-scripts

ディレクトリを変更します

変更ディレクトリCDのディレクトリ変更

  • 相対パスを使用することができます
  • あなたは絶対パスを使用することができます

ホームディレクトリを切り替えます

cd # 切换家目录
cd - # 回到上一次目录

現在の作業ディレクトリを表示します

pwd # 显示当前工作目录 print working directory
[root@localhost network-scripts]#pwd
/etc/sysconfig/network-scripts

pwd -p # 查看链接的真正目录
[root@localhost /]# cd lib
[root@localhost lib]# pwd -p
/usr/lib

リストディレクトリやファイル

-rw-rを - r--の。 1 ルートルート 0 8月22日17時21分 10
技量 ハードディスクの引用 所有者は、グループです サイズ アクセスタイム ファイルネーム
ls list
ls -a  # 显示所有文件
ls -l  # 以长格式显示文件列表
-rw-r--r--. 1       root root  0  Aug 22 17:21    10
权限    硬盘引用次数  属主 属组  大小   访问时间   文件名称
ls -R  # 递归显示目录
ls -d  # 显示目录本身
ls -1  # 文件分行显示
ls -S  # 按照文件大小排序
ls -r  # 倒序显示
ls -t  # 按照时间排序
ls -lh # 显示人类易读方式
ls -d */ # 显示当前目录下文件夹
ls l.  # 只显示隐藏文件
ls -lut # 时间倒叙排列

# 这里全是段命令可以自由组合

Linuxでディレクトリタイプ

- 用来表示文件
d 用来表示目录
b 块设备
c 字符设备
| 表示符号链接文件
s socket套接字文件

ビューファイルステータスSTAT

File: ‘anaconda-ks.cfg’
Size: 1747          Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 33574992    Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:admin_home_t:s0
# Size   磁盘大小 Blocks 块大小  IO Block Io块大小
# Access 权限     Uid    用户   
Access: 2019-08-22 12:09:03.288000381 +0900 # 访问时间
Modify: 2019-08-22 11:47:12.262947345 +0900 # 修改时间
Change: 2019-08-22 11:47:12.262947345 +0900 # 改动时间

Access # 最近访问时间 atime 查看cat文件内容就会改变
Modify # 最近修改时间 mtime 改变内容时发生变化
Change # 最近改动时间 ctime 元数据发生变化就会改变

タッチ

创建空文件和刷新时间,如果文件存在,则刷新时间,不存在则创建文件
touch -a 修改atime和ctime
touch -m 修改mtime和ctime
# 无论是-a 还是-m ctime都会改变

ファイルのワイルドカード

*           # 表示0-多个字符
?           # 匹配任意单个字符
~           # 表示家目录
[123]       # 表示其中一个
[-]         # 范围
# 根据ascii码 
file[a-z]   # 字母(有坑) 缺少Z   
file[A-Z]   # 字母(有空) 缺少a
[^]         # 取反
[:lower:]   # 小写字母
[:upper:]   # 大写字母
[:alpha:]   # 所有字母
[:alpha:]   # 所有字母
[:alnum:]   # 表示字母和数字
[:digit:]   # 表示数字

ディレクトリを作成します

mkdir    # 创建目录
-p a/b/c   # 递归创建
-v         # 显示创建详细过程

ディレクトリツリーを表示します

yum install-y tree  # 安装目录树
tree                # 显示目录树
tree -d             # 仅显示文件夹
-L num              # 仅显示num层,排除当前目录

ディレクトリを削除します

rmdir   # 只能删除非空目录
-p      # 递归删除空父目录
-v      # 显示删除过程
rm -rf  # 删除非空目录

コピーしたファイルとフォルダ

CPコピーエイリアスの下のデフォルト、元のコマンド自体(\ CP)を上書きするように指示されていません

使用方法:
Usage: cp [OPTION]... [-T] SOURCE DEST
  or:  cp [OPTION]... SOURCE... DIRECTORY
  or:  cp [OPTION]... -t DIRECTORY SOURCE

cp              # copy
-i              # 显示覆盖提示信息
-n              # 不覆盖
-f              # 非强制的
-R -r           # 递归复制,如果复制文件夹,不加递归复制会报错
-s              # 拷贝一个链接文件
-d              # 只复制链接文件不复制原文件
-a              # 归档
-v              # 显示复制过程
-b              # 覆盖之前,备份原来的文件
--backup=number # 备份
-p              # 复制时保留原来的属性
  • ソースファイルがファイルである場合
    • ターゲットファイルのファイルです
      • ターゲットファイルが存在しない場合は、新しいターゲット・ファイルを作成し、対象ファイルの内容を書き込み、
      • 対象のファイルが存在する場合、元のコマンドは、直接ユーザに促し-i推奨覆われています。
    • 目標はフォルダです
      • フォルダ内に同じ名前のファイルを作成し、ファイルの内容が新しいファイルに書き込まれます
  • もし複数のファイルに元のファイル
    • ターゲットはフォルダーでなければならず、フォルダが存在しなければなりません。他の例は与えられています
  • 元のファイルは、フォルダの場合
    • ターゲットファイルはファイルです:いいえ
    • ターゲットファイルはフォルダでなければならない、あなたは、-rオプションを使用する必要があります
    • 直接先のフォルダを作成し、元のデータフォルダが移動先のフォルダにコピーされます。ターゲットファイルが存在しない場合
    • 先のファイルが存在する場合:
      • ファイルにエラーがある場合
      • フォルダの場合:対象のフォルダに同じ名前のフォルダを作成し、新しいフォルダをターゲットにしています。

移動、名前の変更

MVの動き

mv  # move
Usage: mv [OPTION]... [-T] SOURCE DEST
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...

-i             # 提示
-f             # 强制
-b             # 备份
--backup=number # 备份后面加数字
-v             # 显示过程

削除

RM削除

Usage: rm [OPTION]... FILE...

-i         # 提示
-r -R      # 递归删除
-f         # 强制
rm -rf     # 慎用
rm -rf /*  # 慎用
cd /
rm -rf *

# 这里需要提前用VMware 提前快照,然后恢复快照
# 右击里面点击拍摄快照

リンク

ソフトリンク

ln -s 源文件 目标文件   # 创建命令 
1.相当于windows快捷方式
2.可以对目录做软链接,执行另外的一个文件或者目录的路径,大小是路径的长度的字符
3.对磁盘引用次数没有影响
4.可以跨分区
5.源文件发生改变,软链接会跟着发生变化
6.源文件删除,软链接不能访问,再添加相同名字时,即可引用

ハードリンク

ln 原文件 目标文件     # 创建硬链接
1.磁盘引用次数发生变化
2.指向的是硬盘上的同一块区域
3.硬盘的引用数会随着硬链接的次数而增加
4.不能对目录做硬链接
5.不能跨越分区
6.源文件发生改变,硬链接会发生改变
7.源文件删除,硬链接可以访问,磁盘引用数减少

CP

ビューのファイルタイプ

file

入出力

1.标准输入      默认是来自键盘的输入  stdin      0
2.标准输出      默认输出到终端窗口    stdput     1
3.标准错误输出  默认输出到终端窗口    stderr      2

I/O重定向

> 覆盖
1.  >    将>标准输出重定向到文件中
2.  2>   将错误输出重定向到文件中
3.  &>   将所有的输出都重定向到文件中
禁止,允许覆盖
1.  禁止覆盖set -C
2.  允许覆盖set +C
>> 追加
1.  >>    将标准输出追加到文件中
2.  2>>   将错误输出追加到文件中
3.  &>>   将所有的输出都重定向到文件中

標準入力と入力エラーが別々に保た

[root@localhost ~]# ls f 45yu > log.log 2>error.log
[root@localhost ~]# cat log.log
f
[root@localhost ~]# cat error.log
ls: cannot access 45yuio: No such file or directory

すべての出力をマージ

  • &>カバレッジをリダイレクト
  • &>>リダイレクトを追加
  • コマンド>ファイル2>&1
  • コマンド>>ファイル2>&1
  • ():複数の出力ファイルをマージ(エラー1;エラー2)2>ファイル
  • (ブラックホールと同様に、無制限受信)&>を/ dev / null
  • / dev /ゼロ

標準入力からファイルをインポートします

TRの文字を置き換えます

# 参数
-t 截断
-d 删除
-s 压缩,去重
-c 取反
tr字符替换
tr 'a-z' 'A-Z' < /etc/issue

# 按字符顺序替换
tr ab 12
ab
12
abb
122
# 分赃不均则默认取最后
tr abc 12
abc
122
# 解决分赃不均问题(截断)
tr -t abc 12
abc
12c
# 删除
tr -d abc
a1b1c
11
# 去重
tr -s a
aaaaabc
abc
# 取反
tr -sc a
aasdaaaa
# tr -d a 默认会把回车删掉,要ctrl+d删除
# 解决办法 tr -dc 'a\n'

读入文件和输出文件不能是同一文件,要写到新的文件中
tr -d <issue>issue

複数行は標準入力に送られました

1. cat > f1
# ctrl c可以结束
2. cat > f2 <<EOF 
# <<后面的值随便写,但是必须以它结束,约定俗成EOF
> EOF 
# 结束,结束之后,才能显示.

パイプライン

パイプ「|」を示すために使用されています

コマンド1 |コマンド2 | 3コマンド

  • 入力コマンド3の結果としてのコマンド出力の結果コマンド出力2,2のようなコマンドの出力
  • デフォルトでは、標準出力、パイプのみ
  • あなたはまた、エラー出力を渡す必要がある場合は、次のようにする必要があり|&
  • 複数のコマンドのための通常の組み合わせ
有一些命令是不接受管道的
# 如touch,cat等 

おすすめ

転載: www.cnblogs.com/taosiyu/p/11432946.html