Linux文件管理|核心基础命令详解

图片[1]-Linux文件管理|核心基础命令详解-不念博客

1、切换目录cd change directory

pwd     查看当前目录     print working directory (打印工作目录)
cd     切换目录         change directory

cd     切换到当前用户的家目录
cd -   去上一次所在的目录
cd ~   去当前用户的家目录
cd .   去当前目录
cd .. 去上一级目录

2、创建空目录mkdir make directory


mkdir   make directories   相当于windows创建文件夹

# 语法
mkdir [选项] xxx(目录名)

# 选项
-p 即-parents(长格式)   递归创建 (根据需要创建父目录)
-v 显示创建的过程
-m 创建目录并指定权限

# 例子:
比如我想创建一个xxx/xxx1/xxx2 目录直接创建不了,用 mkdir -p /xxx/xxx1/xxx2 即可用tree看下有没有:
root@sky,10.0.0.201:~/xxx # tree /xxx
/xxx
└── xxx1
  └── xxx2

在/abc下创建1000个目录
mkdir -p /abc/yyy{1..1000}
rm -fr /abc*

3、tree

tree 以树形结构显示

-L 指定层数 例如 tree -L 1 /
-d 只显示目录
-a 显示所有文件

如:
[root@localhost ~]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
.......

4、创建空文件touch

虽然不能创建目录,但可以修改目录的时间戳


touch [] 文件名 
touch 可以加个路径 就放进去了 不像win点半天

选项可有可无
可以同时创建多个文件 比win方便的多
touch{1..100}.txt 等价于 touch 1.txt 2.txt......

# 注意:
1.创建文件,必须要创建在一个存在的目录中
2.和创建目录不同的是,创建相同的文件不会报错,会覆盖原来的
3.在Linux当中一切皆文件,不能建和文件名重名的目录

[root@localhost ~]# mkdir 1
mkdir: cannot create directory ‘1’: File exists

5、ls 显示目录下内容及属性信息

ls 选项 文件或目录
显示默认以文件名进行排序(a到z)
-l 长格式
-a 显示所有,包括隐藏文件
-t 根据文件最后修改时间排序
-r 反过来,z到a
-F 加上文件类型指示符号(*、/、@等)

-d 查看目录本身
-i 显示inode
-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)

[root@sky /]# ls -F
bin@ boot/ dev/ 。。。


6、cp复制 copy

# 语法          
cp [选项] 源文件的路径 目标路径 新的文件名(想改名的话)

如 cp xxx 到/dev 下面 :把xxx复制到dev下面

选项:
-r 递归复制   将目录和目录下子目录和文件全部复制 直接复制无法复制目录
-p 保持文件所有属性   比如 如果不加-p   时间会修改 用户和用户组会变回去
-i 覆盖时提示
-a = -r+-p

[root@web01 ~]# which cp
alias cp='cp -i'
/usr/bin/cp
使用命令绝对路径可屏蔽别名。
开头加反斜线\也可屏蔽别名。

7、mv 移动或重命名文件


mv [选项] 源文件 目标文件   新的文件名(想改名的话)
mv   -t 目录 源文件

选项:
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
-i:交互询问是否覆盖(默认选项);
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
-v:显示文件或目录的移动过程;
-u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;


移动之后,源文件会被删除,类似剪切。如果使用不当,很可能给系统带来灾难性的后果。

mv也可以移动目录。和 rm、cp 不同的是,mv 移动目录不需要加入 "-r" 选项

8、rm 删除 remove

rm [OPTION]... FILE...(默认会有提示确认)
-f, --force         强制删除,不提示            
-r, -R, --recursive 递归删除目录和其中的文件
           
# 例如
-fr /test*     *是匹配所有,就把里面的内容删了。

# 企业中注意
1.尽量不用rm,用mv移到/tmp
2.用rm命令尽量先切目录再删
3.不要用rm -fr删文件,以防误删目录!! 最多rm -f删文件
4.谨慎用通配符
比如 -fr /* 删完连命令都用不了了哈哈哈哈
用也是切进去再删 rm -f ./*

9、cat concatenate files and print on the standard output concatenate的缩写

连接文件并输出文件内容到标准输出

# cat 连接文件并输出文件内容到标准输出
命令的基本格式如下:
[root@localhost ~]# cat [选项] 文件名

# cat主要有三大功能:
1.查看文件的内容 (注意,cat 命令适合查看不太大的文件。)
比如:
[root@localhost ~]# cat 1txt
锄禾日当午
汗滴禾下土
...

2.将多个文件合并为一个文件
[root@localhost ~]# cat 文件1 文件2 > 文件3 合并后输出到文件3中。

3.创建并编辑新文件,
[root@localhost ~]# cat >或>> 3.txt   >覆盖原内容   >>追加  
hahahaha
按ctrl+d结束输入
[root@localhost ~]# cat 3.txt
hahahaha

4.用cat追加数据,按EOF结尾(EOF只是结束标识,可以换)命令格式:
[root@localhost ~]# cat >> 1.txt <<EOF 不用<<也可以的话也可以按ctrl+d结束输入
>balabalaaaa(此处输入你要追加的内容)
等同于:
[root@localhost ~]# cat <<EOF >> 1.txt  
如果>>换成>则会覆盖原来的内容
[root@localhost ~]# cat > 1.txt <<EOF  


# 选项
-n     对输出的所有行进行编号


再如:
[root@localhost ~]# echo www.baidu.com >1txt
[root@localhost ~]# cat 1txt
www.baidu.com
[root@localhost ~]# echo www.andrew.com > 2.txt
[root@localhost ~]# cat 2.txt
www.andrew.com
[root@localhost ~]# cat 1txt 2.txt >> 1+2.txt
[root@localhost ~]# cat 1+2.txt
www.baidu.com
www.andrew.com

PS:关于重定向符号>,>>,<,<<后面详细讲解。


10、echo命令

# 格式:echo [-n] [字符串]
-n 不要在最后自动换行
-e 若字符串中出现一下字符,则需特殊处理如:
\n 换行且光标移至行首
\a 发出警告声

# 作用:
1.输什么显示什么
2.将 单行文本 追加到文本中

例子
[root@sky ~]# echo -e '\ni\nam\nsky'

i
am
sky
[root@sky ~]# echo -e \ni\nam\nsky
ninamnsky

cat与echo的区别


1. 想看一个文件的内容是什么,可以用cat,比如 cat/etc/reslov.conf,就显示出文件reslov.conf里具体的内容。
2. 而echo 没有这样的功能,他会把echo后面的内容作为字符串显示出来,
比如 echo hello,就显示hello;
比如 echo /etc/reslov.conf ,会显示/etc/reslov.conf


[root@localhost ~]# cat 123 >> 1txt   cat追加,格式错误,cat后面是文件。应为:cat >> 1txt <<EOF
cat: 123: No such file or directory


[root@localhost ~]# echo 床 >> 1txt     echo也可以给文档追加内容
[root@localhost ~]# cat 1txt
www.baidu.com
i am andrew my English namefbd
床前明月光

床
© 版权声明
THE END