ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux学习

2021-10-23 16:34:10  阅读:184  来源: 互联网

标签:文件 删除 学习 行号 复制 Linux 目录 光标


Linux文件与目录管理

处理目录常用命令

  • ls (list files):列出目录及文件名
    • -a:全部文件,连同隐藏文件(开头为.的文件)
    • -d:列出目录本身,而不是列出目录内的文件
    • -l:长数据列出,包含文件的属性与权限等数据
  • cd (change directory):切换目录,可以使用绝对路径或者相对路径
   cd /root/vision  #使用绝对路径
   cd ./vision      #使用相对路径
   cd ~             #回到家目录
   cd ..            #回到目前的上一级目录
  • pwd(print work directory):显示目前的目录
	pwd -p  #显示确实路径而非使用连接(link)路径
  • mkdir(make directory):创建一个新的目录
	mkdir -m 771 test1          #-m 配置文件属性
	mkdir -p test1/test2/test3  #-p 创建多层目录 
  • rmdir (remove directory):删除一个目录

     rmdir -p 目录名称   #从该目录起,一次删除多级空目录,没有参数就只删除某一个文件夹
    
  • cp(copy file):复制目录或者文件

     cp [-adfilprsu] 来源档(source) 目标档(destination)
    

    -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
    -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
    -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
    -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
    -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
    -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
    -r:递归持续复制,用於目录的复制行为;(常用)
    -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
    -u:若 destination 比 source 旧才升级 destination !

  • rm(remove):删除文件或目录

	rm -f    #force 强制的意思,忽略不存在的文件,不会出现警告信息
	rm -i    #互动模式,在删除前会询问使用者是否动作
	rm -r    #递归删除,最常用在目录的删除,这是非常危险的选项
  • mv(move file):移动文件与目录,或修改文件与目录的名称
	mv [-fiu] source destination
	mkdir mvtest
	mv testfile mvtest   #移动testfile到新建mvtest文件夹
	mv mvtest mvtest2    #修改文件夹名称

liunux文件内容查看

  • cat 由第一行开始显示文件内容
	cat [-AbEnTv]
	-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
    -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
    -E :将结尾的断行字节 $ 显示出来;
    -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
    -T :将 [tab] 按键以 ^I 显示出来;
    -v :列出一些看不出来的特殊字符
  • tac 从最后一行开始显示,是cat倒着写
  • nl 带行号输出
	nl [-bnw] 文件
	-b :指定行号指定的方式,主要有两种:
	   -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
	   -b t :如果有空行,空的那一行不要列出行号(默认值);
	-n :列出行号表示的方法,主要有三种:
	   -n ln :行号在荧幕的最左方显示;
	   -n rn :行号在自己栏位的最右方显示,且不加 0 ;
	   -n rz :行号在自己栏位的最右方显示,且加 0 ;
	-w :行号栏位的占用的位数。
  • more 一页一页显示文件内容
  • less 类似more,但可以往前翻页
	空格键    :向下翻动一页;
	[pagedown]:向下翻动一页;
	[pageup]  :向上翻动一页;
	/字串     :向下搜寻『字串』的功能;
	?字串     :向上搜寻『字串』的功能;
	n         :重复前一个搜寻 (与 / 或 ? 有关!)
	N         :反向的重复前一个搜寻 (与 / 或 ? 有关!)
	q         :离开 less 这个程序;
  • head 只看头几行
	head [-n number] 文件 #number表示几行的意思,默认是10行
	head -n 20 文件
  • tail 只看最后几行

Linux链接

分为硬连接和软链接。
硬连接:文件名不同,但是文件内容一样,指向同一索引节点号(inode index)。删除其中一个不对另外的产生影响

ln f1 f2    #创建f1的一个硬连接f2
ln -s f1 f3 #创建f1的一个软连接f3 

软连接:类似创建文件的快捷方式,软连接放入的是原文件的路径

Linux vim命令

5yroRJ.png

  • 进入文件,一般模式

      vim 文件名  #进入文件的一般模式,文件不存在则创建新文件
    
一般模式命令作用
u复原前一个动作(类似撤销)
[Ctrl]+r重做上一个动作
yy复制游标所在的那一行
y1G复制游标所在行到第一行的所有数据
yG复制游标所在行到最后一行的所有数据
dd删除游标所在的那一整行
nddn 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行
d1G删除光标所在到第一行的所有数据
dG删除光标所在到最后一行的所有数据
p, Pp 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。
  • 按下i,o,a等进入编辑模式,开始编辑文字
编辑模式命令进入输入模式类型
i,I前者目前光标所在位置进入,后者是在目前光标所在行第一个非空格符处开始输入
a,Aa 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』
o,Oo 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行!
r, Rr 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止
  • 一般模式切换到指令行模式可用按钮说明
指令行模式命令作用
:w将编辑的数据写入硬盘档案中
:w!若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
:q离开 vi (常用)
:q!若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:wq储存后离开,若为 :wq! 则为强制储存后离开
:w [filename]将编辑的数据储存成另一个档案(类似另存新档)
:set u       #显示行号
:set nonu #不显示行号

Linux apt命令

apt语法

apt [options] [command] [package ...]
  • options:**可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 “yes”),-q(不显示安装的过程)等等。
  • command:**要进行的操作。
  • package:**安装的包名。

shell 教程

第一个shell脚本创建新文件tesh.sh扩展名为sh,不影响脚本的执行

#!/bin/bash            #  #!是一个约定,告诉系统这个脚本需要什么解释器来执行
echo "hello world!"    # echo用于向窗口输入文本
chmod +x ./test.sh     #是脚本具有执行权限
./test.sh              #执行脚本,一定要写成./test.sh,而不是tesh.sh,

标签:文件,删除,学习,行号,复制,Linux,目录,光标
来源: https://blog.csdn.net/vision666/article/details/120922601

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有