linux基本知识(2)

链接(创建链接(硬链接,软连接))

目录的本质:文件

​ 如果想在一个目录中添加或者删除目录项,需要获得目录的写权限

硬链接: 目录在物理文件系统中的指向
软连接(符号链接):里面存储文件的路径,类似
指针
ln
    ls file name
    	为文件file创建一个名为name的硬链接
    	默认创建硬链接
    -s: 创建软连接
        可存绝对路径或者相对路径(推荐相对路径)
       	类似指针或windows的快捷方式

查找

locate(自己有一个数据库)
    locate file_name
    	搜索名为file_name的文件位置
which commend
    定义一个可执行程序commend
find
    -name "ff"
    find file -name "*.c"(在file中查找所有后缀为.c的文件)
    查找名字为ff的文件
    -a
    	and
    -o
    	or
    !
    	逻辑取反
    -empty
    	查找空目录
    

命令的组合

mkdir dir4; cd dir4(创建一个名为dir4的目录 ; 进入一个名为dir4的目录)
    顺序执行

	边查找边显示名为stdio.h的文件,并以行的方式显示文件查找的信息 , 把一个命令的输出结果当成另外一个命令的参数

权限

chmod
    修改文件的权限
    rws rws rws
    u    g   o
    (1): 文字设定法
    	chmod [ugoa](选择其中一个,a表示all)[+=-](+增加权限,=修改成特定的权限,-减少权限)[rwsx] file/dir
    	ex: chmod u+x hello.cpp
            给hello.cpp的拥有者添加执行权限
    (2): 数字设定法(***)
            chmod 三位8进制数字 file/dir
            ex: chmod 664 hello.cpp(更简洁一点)
                
文件掩码
umask
         普通用户的文件掩码为 0002 创建文件夹时 默认的权限应该为 777 & (~umask) , 去掉了其他用户的写权限
         root的文件掩码为 0022       

如何查看文件内容 , 修改文件配置

cat 
    
文件描述符(非负整数):
	stdin 标准输入 关联   键盘 0 (文件描述符)
    stdout 标准输出 关联 显示器 1
    stderr 标准错误输出 关联 显示器 2
重定向
    > 标准输出重定向
    < 标准输入重定向
    2> 标准错误重定向
    >> 标准输出重定向,追加
echo
        打印一行文本 
head
        显示文件的头几行信息
        ex: head e.txt
            默认输出10行左右
        ex: head -n 5 e.txt
            显示输出前5行
tail(查看最近的日志文件)
            输出文件的后几行信息
         ex:
			tail e.txt
                默认显示最后10行左右
  		 ex: tail -n 5 e.txt
             	显示最后5行作用
more / less (两个的功能和操作基本相同)
        显示文件的第一页
             b: 下一页
             f: 上一页
			 q: 退出     
sort
        工作原理: 读取文件的内容,并且对文件的内容(行)进行排序,最后把排序后的结果输出到stdout中
        对文件内容进行排序
uniq
        工作原理: 读取文件的内容 , 并对连续的行进行去重,并把去重后的结果输出到stdout中
         去除重复连续的行
xargs
         特例: sort hello | uniq
            排序后通过管道去重 , 不可以使用xargs
file
         file file_name
             查看名字为file_name的文件的更多信息
wc
         -l
             多少行
         -w
             有多少个单词
         -byte / -c
             有多少个字节
         若什么都不加则会默认显示这三个查询
iconv
         修改字符集
         -f
             从哪个字符集开始
         -t
             转化成那个字符集
         ec: iconv -f gbk -t utf-8 file_name

正则表达式

基本单位: 普通字符,转义字符,.(任意字符),[0-9](0-9集合,所有各位数字集合), ()(整体作为一个基本单位)
    	基本操作: 
				连接: ab a与b连接到一起
				重复: ?(重复一次或者是0次)
                	 +(重复一次或者多次)
                     *(重复任意次数)
                	 {m}(重复m次)
					 {m,n}(重复的次数介于m 与 n 之间)
					 {,m}(重复的次数<=m)
					 {m,}(重复的次数>=m)
	

搜索文件内容

grep(***)
         g:globally 全局
         re:regular expression 正则表达式
         p: print 打印
             -E: 
				使用拓展的正则表达式
             -n:
				显示行号
             -i(ignore):
				忽略正则表达式中的大小写

其他命令

alias(别名)
    alias h=history
    	让h作为history的别名,输入h就相当于输入history

打包和压缩

打包后的文件大小大于打包前的文件大小,他要预留一些空间以放入新的文件
    tar(打包util)
    	tar (主选项 + 辅选项) 目标文件名 源文件/目录
    	主选项:三选一之间互斥 , 只能选择其中一个
    		-c(create)
    			创建一个包
    		-r
    			追加
    		-x
    			释放文件
    	辅选项:
    		-f
                指定文件的名称
            -v
                显示打包过程
            -z
                若有压缩 , 则利用gzip算法压缩或解压缩
    			

打包

解打包


压缩文件

posted @ 2024-06-11 17:47  半仙~  阅读(36)  评论(0)    收藏  举报