linux基础2

1.文件管理常用命令

<1>mkdir,rmdir

mkdir:make directory

mkdir [OPTION]… DIRECTORY…

-p:自动按需创建父目录;

-v:verbose,显示详细过程;

-m MODE;直接给定权限;

注意:路径基名方为命令的作用对象;基名之前的路径必须存在;

rmdir:remove empty directories

rmdir [OPTION]… DIRECTORY…

-p:删除某目录后,如果其父目录为空,则一并删除之;

-v:显示过程;

 

<2>文件管理工具:cp,mv,rm

cp命令:copy

源文件;目标文件;

单源复制:cp [OPTION]… [-T] SOURCE DEST

多源复制:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

单元复制:cp [OPTION]… [-T] SOURCE DEST

如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中;

如果DEST存在,

如果DEST是非目录文件:则会复制源文件的数据流,覆盖目标文件;

如果DEST是目录文件:则现在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

多源复制:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

如果DEST不存在,作物

如果DEST存在,

如果DEST是非目录文件:错误

如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

常用选项:

-i:交互式复制,即覆盖之前提醒用户确认;

-f:强制覆盖目标文件;

-r,R:递归复制目录;

-d:复制符号链接文件本身,而非其指向的源文件;

-a:-dR –preserve=all,archive,用于实现归档;

–preserve

mode:权限

owership:属主和属组

timestamp:时间戳

context:扩展属性

links:符号链接

all:上述所有属性

mv命令:move

mv – move (rename) files

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE…

常用选项:

-i:交互式

-f:force

rm命令:remove

rm [OPTION]… FILE…

常用选项:

-i:interactive

-f:force

-r:recursive

删除目录:rm -rf /PATH/TO/DIR

危险操作:rm -rf /   rm -rf /*

 

<3>常用命令pwd,ls,cat,tac,file

常用命令:

pwd:printing working directory

显示工作目录

cd:change directory

切换目录

cd [/PATH/TO/SOMEDIR]

cd 不加任何参数,表示回到家目录 =

cd ~:切换到自己的家目录

cd ~USERNAME:切换至指定用户的家目录;

cd -:在上一次所在目录与当前目录之间来回切换;

相关的环境变量

$PWD:当前目录 这是个变量,echo $PWD

$OLDPWD

ls: list,列出指定目录下的内容

ls [OPTIONS].. filename

-a:显示所有文件,包括隐藏文件

-A:显示出.和..之外的所有文件

-l:–long,长格式列表,即显示文件的详细属性信息

 

-:文件类型,- ,d,b,c,l,s,p

左三位rw-:文件的属主的权限;

中三位:文件属组的权限;

后三位:其他用户的权限

1:数字表示文件被硬链接的次数;

第一个root,文件的属主

第二个root,文件的属组

8957:数字表示文件的大小,单位是字节;

10月 14 19:34:文件最后一次被修改的时间;

-h,–human-readable:对文件的大小单文进行换算,换算后的结果可能会非精确值;

-ld,d和l结合使用,查看目录的自身而非其内部的文件列表

-r:reverse,逆序显示

-R:recursive,递归显示

 

cat:concatenate

文件文本查看工具:

可以接多个文件,一块显示

cat [OPTIONS]… [FILENAME]..

-n:给显示的文本行编号

-E:显示行结束符$

tac:文件文本查看工具,文件内容是逆序的

 

file:查看文件内容类型;

file [FILE]…

echo:回显

echo [SHORT-OPTION].. [STRING]…

-n:不进行换行;

-e:让转义符生效;

\n:换行

\t:制表符

STRING可以使用引号,单引号和双引号均可用

单引号:强引用,变量引用不执行替换

echo ‘$SHELL’

双引号:弱引用,变量引用会被替换

echo “$SHELL”

注意:变量引用的正规符号 $(name)

 

2.bash的基础特性:命令的执行状态结果与命令行展开

bash的基础特性:命令的执行状态结果

命令执行的状态结果:

bash通过状态返回值来输出此结果;

成功:0

失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中; echo $?看最近一条命令的状态返回值;

命令正常执行时,有的还回有命令返回值;

根据命令及其功能不同,结果各不相同;

引用命令的执行结果:

$(COMMAND)

或`COMMAND`   //注意反引号,左上角1旁边,只能在英文输入法时键入

bash的基础特性之:命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录;

{}:可承载以逗号分隔的路径列表,并能够将其展开为多个路径;

例如:/tmp/{a,b},相当于 /tmp/a , tmp/b

 

3.利用多选项创建目录结构

mkdir -v {a,b}_{c,d}

[root@localhost tmp]# ll
total 0
drwxr-xr-x. 2 root root  6 Jul  1 22:26 a_c
drwxr-xr-x. 2 root root  6 Jul  1 22:26 a_d
drwxr-xr-x. 2 root root  6 Jul  1 22:26 b_c
drwxr-xr-x. 2 root root  6 Jul  1 22:26 b_d

 

mkdir -pv /tmp/mysysroot/{bin,etc/sysconfig/network-scripts,sbin,usr/{bin,lib,lib64,local/{bin,etc,lib,sbin},sbin},var/{cache,log,run}}

[root@localhost tmp]# tree mysysroot/
mysysroot/
├── bin
├── etc
│   └── sysconfig
│       └── network-scripts
├── sbin
├── usr
│   ├── bin
│   ├── lib
│   ├── lib64
│   ├── local
│   │   ├── bin
│   │   ├── etc
│   │   ├── lib
│   │   └── sbin
│   └── sbin
└── var
├── cache
├── log
└── run

 

4.元数据和可以更改时间戳的命令touch

文件的数据类型有两类:元数据:metadata;数据:data。用stat来查看元数据信息。

touch命令:改变时间戳

touch – change file timestamps

touch [OPTION]… FILE…

-c:指定的文件路径不存在时不予创建

-a:仅修改access time

-m:仅修改modify time

-t STAMP

[[CC]YY]MMDDhhmm[.ss]

 

5.关于别名的命令alias

获取所有可用别名的定义:

~]#alias

定义别名:

~]#alias NAME=’COMMAND’

注意:仅对当前shell进程有效

撤销别名:

~]#unalias NAME

 

6.常用命令的综合用法演示

1:显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录; ls -d /var/l?[[:lower:]]

2:显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录;

ls -d /etc/[0-9]*[^0-9]

3:显示/etc目录下,以非字母开头,后面接一个字母及其它任意长度任意字符的文件或目录;

ls -d /etc/[^a-z][a-z]*

4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

5.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

cp -r /etc/p*[^0-9] /tmp/mytest1

6.复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

cp -r /etc/*.d /tmp/mytest2

7.复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

cp -r /etc/[lmn]*.conf /tmp/mytest3

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102131

(0)
hanbinghanbing
上一篇 2018-07-01
下一篇 2018-07-01

相关推荐

  • sed 的基础应用与掌握

    赶紧试试吧看是看不会的

    Linux笔记 2018-04-19
  • linux魔鬼训练营初体验

    听话照做

    2018-04-01
  • 神奇的awk

    有了这个awk,忘了那个他

    2018-05-17
  • ansible进阶小技巧

    用ansible写playbook的朋友可能会发现,当配置工作很多时,如果在中间过程出错了,修改后想重新执行,前面的一大堆步骤让人感觉很烦躁。虽然提供了“retry”文件,但是却只是根据host来判断重新执行,仍然不够方便;又或者,中间的某些步骤特别耗时,比如下载一个很大的数据包,每次执行特别浪费时间,想要特别的跳过。怎么办?我猜你就是把不需要的部分给注释掉…

    Linux笔记 2018-06-03
  • yum命令及yum仓库构建

    yum命令 yum [options] [command] [package …] yum命令行选项 –nogpgcheck 禁止进行gpg check -y 自动回答yes -q 静默模式 –disablerepo=repoidglob 临时禁用此处的repo –enablerepo=repoidglob 临时启用此处的repo –noplug…

    Linux笔记 2018-06-10
  • 第一周博客(3)

    Linux的哲学思想

    Linux笔记 2018-05-12