Linux学习

2021/10/24 7:12:45

本文主要是介绍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学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程