linux之系统结构及文件管理

一、linux系统结构
    linux文件是一个倒树型结构,软件和命令都是以文件的形式存在,这些文件的顶级目录(最大的目录)为根目录"/",根目录下为二级目录,这些目录都是系统装机时系统自动建立的。
    linux系统中的二级目录:
	/bin              ##二进制可执行文件,系统常规命令
	/boot             ##启动目录,存放系统自动启动文件,内核,初始化程序
	/dev	          ##系统设备管理文件
	/etc		  ##大多数系统配置文件存放路径
	/home		  ##普通用户家目录
	/lib		  ##函数库
	/lib64/		  ##64位函数库
	/media	  	  ##临时挂载点	
	/mnt		  ##临时挂载点
	/run		  ##自动临时设备挂载点
	/opt		  ##第三方软件安装路径
	/proc		  ##系统硬件信息和系统进程信息
	/root		  ##超级用户家目录
	/sbin		  ##系统管理命令,通常只有root可以执行
	/srv		  ##系统数据目录
	/var		  ##系统数据目录
	/sys		  ##内核相关数据
	/tmp		  ##临时文件产生目录
	/usr/		  ##用户相关信息数据

二、文件管理命令

####1.文件建立####
touch    filename
注意:
    touch不但可以建立文件也可以修改文件的时间戳
    时间戳分为:
    atime:文件内容被访问的时间标识
    mtime:文件内容被修改的时间标识
    ctime:文件属性或文件内容被修改的时间标识

####2.目录建立####
    mkdir    directory
    mkdir -p dir1/dir2/dir3
    -p建立递归目录时,当上层目录不存在自动建立  

####3.文件删除####
    rm file
    rm -f file    -f=force 标示强制删除不提示

####4.目录删除####
    rm -r    directory    -r标示递归删除,也就是删除目录本身和里面的所有内容
    rm -r -f dir        删除目录不提示
    rm -rf dir        在命令参数使用过程中,-a -b -c =-abc =-bac ,顺序是不需要注意的。
    rm -fr dir


####5.编辑文件####
1.gedit    
    gedit file        ##必须有图形

2.vim
    vim file -->按[i]进入insert模式-->书写内容-->按[esc]退出insert模式-->:wq退出保存

示例:
    vim hello.c
    #include<stdio.h>
    main()
    {
        printf("hello,world\n");    
    }
:wq
    yum install  gcc -y     ##安装gcc编译器
    gcc hello.c -o hello
    ./hello            ##执行
    hello world

####vim异常退出######
当vim异常退出时会生成.file.swp文件

当再次打开此文件时会出现以下情况:
         file name: ~kiosk/Desktop/hello
          modified: YES
         user name: kiosk   host name: foundation0.ilt.example.com
        process ID: 31820
    If this already, delete the swap file ".hello.swp" <<<此文件中存放大是未保存的数据

Swap file ".hello.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
    只读打开        继续编辑      恢复数据  删除swap文件  退出    退出

无论按[O] (E) (R) (Q) (A) 任何一个都不会删除.swp文件
那么再次打开hello文件是还会出现以上界面直到按(D),.swp文件被删除
vim恢复正常工作

####6.文件的复制####
cp        源文件           目的地文件    
cp -r     源文目录       目的地目录
cp        源文件1 源文件2       目的地目录            ##目的地目录必须存在
cp -r     源目录1 源目录2       目的地目录           ##目的地目录必须存在

####7.文件移动####
mv     源文件           目的地文件          ##相当于重命名
mv     源目录           目的地目录    

注意:
相同磁盘的文件移动只是一个重明名过程
不同磁盘的文件移动是复制删除过程

####8.文件查看####
cat      file          ##查看文件的全部内容
cat -b    file        ##-b显示行号

less    file           ##分页浏览
用法:
上|下                  ##逐行移动
pageup|pagedown        ##逐页移动
/关键字              ##高亮显示关键字,n向下匹配,N向上匹配
v                         ##进入vim模式 在vim模式中按:wq 退回到less模式
q                        ##退出

#####9.文件的寻址####
1.文件的地址分为:
    相对路径:
        相对与当前系统所在目录的一个文件名称的简写,
        此名称省略了系统当前所在目录的名称
        此名称不以“/”开头
        此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值
        
    绝对路径:
        绝对路径是文件在系统的真实位置
        此命令是以“/”开头的
        此命令在命执行时系统不会考虑现在所在位置的信息
注意:
    当操作对象是 对象1  空格  对象2  时,
    这两个对象之间没有任何关系
    豆角 茄子    ##这是2个对象
    豆角茄子     ##这是一个对象
    

    亲          ##动作是被系统执行的,不能作为名称出现
    “亲”        ##用引号的作用是把动作变成名称字符,这种方法叫引用

####10.自动补齐####
<TAB>
    系统中的<TAB>键可以实现命令的自动补齐
    
    可以补齐系统中存在的命令,文件名称,和部分命令的参数
    当一次<TAB>补齐不了时代表以此关键字开头的内容不唯一
    可以用<TAB>X2来列出所有以此关键字开头的内容

#####11.关于路径的命令####
1.显示路径
    pwd

2.切换路径
    cd 目录名称    ##进入到指定目录中
    cd -        ##当前目录和当前目录值前所在目录之间的切换
    cd ~        ##进入当前用户家目录
    cd ~user     ##进入user家目录
    cd ..        ##进入当前目录的上级目录

3.查看
    ls
    ls -l    file    ##文件属性
    ls    dir       ##目录中包含的内容
    ls -d    dir    ##目录本身
    ls -a    dir    ##所有文件包含隐藏的
    ls -S    dir    ##查看并且按照大小排序


4.文件查看
    cat        ##输出文件全部内容
    less        ##分页浏览
    head     file    ##查看文件前10行
    head -n 3 file    ##查看文件前3行
    tail     file    ##查看文件后10行
    tail -n 3 file    ##查看文件后3行
    tail -f    file    ##监控文件后10行内容的变化

5.文件大小统计
    wc
    wc -l    ##行数
    wc -w    ##单词数
    wc -m    ##字符数
    wc -c    ##字节数

####12.系统中历史的调用####

history            ##查看历史
history -c        ##清空当前环境中的历史
!数字            ##调用此行历史比如"!5"时执行历史中地5条命令
!test            ##执行以test关键字开头的最近一条历史
ctrl +r +关键字        ##调用历史中最近一条含有此关键字的历史
示例:
(reverse-i-search)`':test
(reverse-i-search)`test': sh test.sh 10        ##会调用最近一条命令中含有test字符的历史

####13.在系统中获得帮助####
1.查看命令大用途
whatis 命令    ##查看命令的用途

2.查看命令的用法
命令 --help    ##查看命令的基本用法,适用于多数命令
[]        ##标示选项可以加也可以不加
...        ##标示选项加入的个数任意
<>        ##标示选项是必须要加入的
Userage:    ##标示命令用法
Opetions:    ##对参数的作用做说明


3.man查看命令或文件的说说明手册
man     命令
man 5     文件
man的级别
1    #命令
2    #系统调用接口
3    #函数库调用接口
4    #特殊设备文件
5    #系统配置文件
6    #游戏规则说明
7    #包说明
8    #系统管理命令
9    #内核调用规则

man的基本用法
上|下        ##逐行查看
pgup|pgdn    ##分页查看
/关键字        ##高亮显示关键字,n向下匹配,N上向匹配
:q        ##退出

man -k    字符串    ##下看当前字符串在系统中拥有的man的级别

/usr/share/doc    ##系统中所有安装过的软件的帮助文档

####14.系统中的通用配置符号#####
*                    ##匹配0到任意字符
?                   ##匹配单个字符
[[:alpha:]]      ##单个字母    
[[:lower:]]      ##单个小写字母
[[:upper:]]     ##单个大写字母
[[:digit:]]        ##单个数字
[[:punct:]]      ##单个符号
[[:space:]]    ##单个空格
[[:alnum:]]     ##单个数字或字母

[1-9]                 #1位,这位是1-9的任意数字
[!3-5]               #1位,不是3-5的数字
[^3-5]               #1位,不是3-5的数字
[a-z]                 #1位,a-z的任意字母
{1..3}               #3个,1 2 3
{1,4,7}             #3个1,4,7这三个数

~                      #当前用户家目录
~username    #指定用户的家目录
~+                   #当前目录
~-                    #进入当前目录之前所在目录(olddir)

猜你喜欢

转载自blog.csdn.net/qq_37048504/article/details/81082620