《初入linux》--第二部分-系统结构与基本文件管理

来源:互联网 发布:代销下单与传淘宝 编辑:程序博客网 时间:2024/05/22 03:29

注:本部分主要描述一些常用文件管理方法中容易被忽略遗忘的问题,对于基本用法不做过多阐述

在linux系统中,有一个重要思想:一切都是文件。

即linux系统将几乎所有的设备、配置、软件全部抽象为文件,而这些文件都保存在  /  目录下

  /   目录以下为二级目录这些目录都是系统装机时系统自动建立的

          二级目录的作用

/bin                ##二进制可执行文件也就是系统命令

/sbin              ##系统管理命令存放位置

/boot              ##启动分区,负责系统启动

/dev              ##设备管理文件

/etc               ##大多数系统管理文件

/home          ##普通用户的家目录

/lib                ##32位系统库文件存放位置

/lib64            ##64位系统库文件存放位置

/media         ##系统临时设备挂载点

/mnt              ##系统临时设备挂载点

/run               ##系统临时设备挂载点

/opt               ##第三方软件安装位置

/proc            ##系统信息

/root             ##超级用户家目录

/srv   /var     ##系统数据

/sys              ##系统管理,主要是关于内核的

/tmp             ##系统临时文件存放位置

/usr              ##系统用户相关信息数据及用户自定义软件存放位置


路径描述:

绝对路径:文件在系统的真实位置,文件名字以“/”开头

相对路径:文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值

#######cd用法#######

cd命令用于进入某目录,最基本用法为:

cd+绝对路径 | 相对路径
例:相对路径:
[root@localhost ~]# pwd
[root@localhost ~]# cd Desktop//root/Desktop
[root@localhost Desktop]# 
[root@localhost Desktop]# pwd/root
绝对路径:

[root@localhost Desktop]# cd /etc//etc/ntp

[root@localhost etc]# cd /etc/ntp/

[root@localhost ntp]# pwd

cd ~ 进入自己的家目录

[root@localhost ~]# cd ..[root@localhost /]# pwd/[root@localhost /]# cd ~[root@localhost ~]# pwd/root

cd~ username 进入某用户的家目录

[root@localhost ~]# pwd/root[root@localhost ~]# cd ~mazha[root@localhost mazha]# pwd/home/mazha

cd - 返回上一次打开的目录(与当前目录无关)

[root@localhost mazha]# pwd/home/mazha[root@localhost mazha]# cd -/root[root@localhost ~]# 

cd ..  返回上级目录
[root@localhost usr]# pwd/usr[root@localhost usr]# cd ..[root@localhost /]# pwd/[root@localhost /]# 

########ls的用法#######

ls -d dir 列出当前目录。(单独使用没啥用)

ls -l fil|dir 列出当前目录内所有文件或某文件的属性(可结合-d使用)

[root@localhost ~]# ls -ltotal 4-rw-------. 1 root root 2740 Oct  4 09:47 anaconda-ks.cfgdrwxr-xr-x. 2 root root    6 Oct  7 21:23 Desktopdrwxr-xr-x. 2 root root    6 Oct  7 21:23 Documentsdrwxr-xr-x. 2 root root    6 Oct  7 21:23 Downloadsdrwxr-xr-x. 2 root root    6 Oct  7 21:23 Musicdrwxr-xr-x. 2 root root    6 Oct  7 21:23 Picturesdrwxr-xr-x. 2 root root    6 Oct  7 21:23 Publicdrwxr-xr-x. 2 root root    6 Oct  7 21:23 Templatesdrwxr-xr-x. 2 root root    6 Oct  7 21:23 Videos

ls -ld dir 列出当前目录属性

[root@localhost ~]# ls -ld /..dr-xr-xr-x. 17 root root 4096 Oct  4 09:45 /..[root@localhost ~]# 

ls -R 递归显示所有内容

[root@localhost ~]# ls -R.:anaconda-ks.cfg  Documents  Music     Public     VideosDesktop          Downloads  Pictures  Templates./Desktop:./Documents:./Downloads:./Music:./Pictures:./Public:./Templates:./Videos:


ls -a  显示所有内容(包括隐藏文件)

[root@localhost usr]# ls -a.   bin  games    lib    libexec  mnt   share  tmp..  etc  include  lib64  local    sbin  src

#######cp的用法######

cp是个新建的过程

cp+file+dir  复制并新建文件

cp -r dir 递归复制目录

[root@localhost /]# cp -r mnt/ usr/ [root@localhost /]# cd usr/[root@localhost usr]# lsbin  games    lib    libexec  mnt   share  tmpetc  include  lib64  local    sbin  src[root@localhost usr]# 

######mv的用法######

注:mv在当前目录是重命名过程,在不同目录是新建和删除的过程

mv  路径 file|dir . 将所选路径下的文件或目录移动到当前目录(此时递归移动不须参数)

[root@localhost mnt]# mv 22 /[root@localhost mnt]# cd /[root@localhost /]# ls22   boot  etc   lib    media  opt   Public  run   srv  tmp  varbin  dev   home  lib64  mnt    proc  root    sbin  sys  usr

mv 已存在文件 不存在文件     文件重命名

[root@localhost mnt]# ls11[root@localhost mnt]# mv 11 22[root@localhost mnt]# ls22


#######################

####正则表达式(批处理)##

 

*       匹配所有字符(0-任意)

?       匹配单个字符(一个?代表一个字符)

[[:alpha:]]       匹配单个字母(忽略其他符号)

[[:lower:]       匹配单个小写字母

[[:upper:]]      匹配单个大写字母

[[:digit:]]       匹配单个数字

[[:alnum:]]       匹配单个数字或字母

[[:punct:]]       匹配单个符号

[[:space:]]       匹配单个空格

注:1.一个表达式表示单个字符,有几个字符用几个表达式

2.在文件命名时,如须加入空格,需用“ ”引起来


1.{}用花括号表示一个存在或不存在的集合(增删改查都可用)

如:{1,2,3} 表示1,2和3 rm -f test{1,2,3}

{1..9} b表示1-9所有


2.[]用平括号表示已经存在的集合(不可用于新建文件)

[1-4] 1或2或3或4,只可用于已经存在的

[123] 大约与{1,2,3}同用法但不可用于创建时,只可用于已存在文件的查找删除等

[!123] 除1,2,3以外存在的文件

[^123] 同[!123]

注:{}内不可以加 ! 或 ^ 等符号

*****加注*****

[a-c]系统默认排序为:aAbBc(此时不包括C)

{a..c}系统默认按照ASC2码:a b c

例:

[root@localhost mnt]# touch file{a..C}[root@localhost mnt]# LSbash: LS: command not found...Similar command is: 'ls'[root@localhost mnt]# lsfile   file_  filea  fileE  fileH  fileK  fileN  fileQ  fileT  fileW  fileZfile`  file[  fileC  fileF  fileI  fileL  fileO  fileR  fileU  fileXfile^  file]  fileD  fileG  fileJ  fileM  fileP  fileS  fileV  fileY

[root@localhost mnt]# rm -fr file[a-C][root@localhost mnt]# LSbash: LS: command not found...Similar command is: 'ls'[root@localhost mnt]# lsfile   file_  fileD  fileG  fileJ  fileM  fileP  fileS  fileV  fileYfile`  file[  fileE  fileH  fileK  fileN  fileQ  fileT  fileW  fileZfile^  file]  fileF  fileI  fileL  fileO  fileR  fileU  fileX


1 0