首页 > 系统相关 >linux基本知识(2)

linux基本知识(2)

时间:2024-06-11 17:56:30浏览次数:29  
标签:文件 name 输出 基本知识 ex file linux 权限

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

目录的本质:文件

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

硬链接: 目录在物理文件系统中的指向
软连接(符号链接):里面存储文件的路径,类似
指针
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算法压缩或解压缩
    			

打包

解打包


压缩文件

标签:文件,name,输出,基本知识,ex,file,linux,权限
From: https://www.cnblogs.com/123456-BX/p/18242500

相关文章

  • linux导出所有文件名到文件
    在Linux中,你可以使用find命令配合xargs和echo来导出文件名到文件。以下是一个例子,它会在当前目录及其子目录下查找所有文件和目录,并将它们的名称导出到filenames.txt文件中:  find.-typef-or-typed|xargsecho{}>>filenames.txt解释:find.:在当前目录......
  • linux内存管理(四)- 用户空间的内存分配在kernel中的实现
    malloc是常用的用户态分配内存的接口,它会调用brk系统调用来请内存分配内存。下面看看该系统调用的实现。插一句,每次调用malloc的时候未必都会调用brk去从kernel分配实际的内存,因为每次系统调用都是有开销的,为了避免频繁的陷入内核,malloc会多申请一部分内存当作内存池,之后要申请内......
  • linux内存管理(七)- 写时复制
    在fork进程的时候子进程会共享父进程的页表,但并没有分配新页。此时页表时只读的,如果父进程或者子进程写内存就会触发pagefault,内核会重新分配内存更改页表,从此分道扬镳。因此写时复制包含两部分内容,第一是fork进程时复制页表并设置pte为只读,第二是写内存发生pagefault。先来看......
  • 【Linux驱动设备开发详解】14.Linux网络设备架构
    1.Linux网络设备驱动的结构与字符设备和块设备不同,网络设备并不对应于/dev目录下的文件,应用程序最终使用套接字完成与网络设备的接口。Linux系统对网络设备驱动定义了4个层次,这4个层次为:网络协议接口层:向网络层协议提供同一的数据包收发接口,无论是IP还是ARP,都是通过dev_queue_......
  • petalinux 交叉编译指定内核驱动
    需要编译u-dma-buf驱动。ThisrepositorycontainsaMakefie.MakefilehasthefollowingParameters:ParameterNameDescriptionDefaultValueARCHArchitectureName$(shelluname-m|sed-es/arm.*/arm/-es/aarch64.*/arm64/)KERNEL_SRCKernelSourc......
  • rockylinux8编译安装zabbix6.0.30-LTS
    zabbix6.和mysql安装系统环境:rockylinux8.10zabbix版本:zabbix-6.0.30LTS版本php版本:php7.2nginx版本:1.26mysql版本:mysql8#下载软件包wgethttps://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.30.tar.gztarxvfzabbix-6.0.30.tar.gzln-s/tools/zabbix-6.0......
  • 【工作必备知识】Linux系统网络诊断与netstat命令
    【工作必备知识】Linux系统网络诊断与netstat命令大家好,我叫秋意零。今天分享一篇Linux系统中与网络相关的干货(包含相关面试题),有可能对你理解网络有一定帮助。同时工作中网络诊断也时常使用,对排查问题有帮助,绝对干货。如果有帮助记得点赞三连呀。netstat命令netstat......
  • linux内存管理(六)- 内核新struct - folio
    folio大概是5.16引入的,看起来像是page的封装,这里有一篇讲解folio很好的博客,论好名字的重要性:Linux内核page到folio的变迁-CSDN博客structfolio{/*private:don'tdocumenttheanonunion*/union{struct{/*public:*/unsignedlon......
  • 每天学一个 Linux 命令(6):shutdown
    Github地址:https://github.com/mingongge/Learn-a-Linux-command-every-day命令介绍shutdown命令可以用执行系统关机或系统重启,shutdown可以关闭系统的所有应用程序,并按用户的指定要求,进行系统关闭或重启的动作执行。此命令需要具备系统管理员权限才能使用。命令格式shutdo......
  • linux内存管理(五)- 缺页处理
    分析一下缺页的处理。缺页的意思是在访问内存的时候该地址还没有建好页表,页面尚未分配,或者页面被swap出去或者没有权限。缺页是同步异常,用户态发生缺页异常会等待内核解决,当然这一切对于用户态都是透明的。缺页处理的核心函数是do_page_fault,这个函数是架构相关的所以这个函数分布......