ICode9

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

Linux(基本操作

2022-09-03 16:30:09  阅读:194  来源: 互联网

标签:文件 tar 命令 Linux 基本操作 txt 目录


Linux介绍、命令

操作系统

image-20220829094738085

作用

  • 是现代计算机系统中最基本和最重要的系统软件

  • 配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展

  • 主要作用是管理好硬件设备,并为用户和好应用程序提供一个简单的窗口,以便于使用,作为中间人,连接软件和硬件

  • 而其他的诸如编译程序,数据库管理系统,以及大量的应用软件,都直接依赖操作系统的支持

不同应用领域的主流操作系统

  • 桌面操作系统
  • 服务器操作系统
  • 嵌入式操作系统
  • 移动设备操作系统

1> 桌面操作系统

  • Windows系列
    • 用户群体大
  • macOS
    • 适合于开发人员
  • Linux
    • 应用软件少

2> 服务器操作系统

  • Linux
  • 安全、稳定、免费
  • Windows Server
    • 付费
    • 占有率低

3> 嵌入式操作系统

  • Linux

4> 移动设备操作系统

  • IOS
  • Android(基于Linux)

虚拟机

虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统

  • 虚拟系统通过生成现有操作系统的全新虚拟镜像,具有真实操作系统完全一样的功能
  • 进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响
  • 而且能够在现有系统与虚拟镜像之间灵活切换的一类操作系统

Linux发现历程

  • Unix -> Minix -> Linux

Linux的应用领域

服务器领域

  • Linux 在服务器领域的应用是其重要分支
  • Linux免费、稳定、高效的特点在这里得到了很好的体现
    • 早期因为维护、运行等原因同样受到了很大的限制
    • 近些年来Linux服务器巿场得到了飞速的提升,尤其在一些高端领域尤为广泛

嵌入式领域

  • 近些年来 Linux在嵌入式领域的应用得到了飞速的提高
  • Linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高

主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、历都是其应用领域,得到了Goagle、三星、摩杆罗拉、NEC等公司的大力推广

个人桌面领域

  • 此领域是传统Linux麻用最薄弱的环节
  • 传统Linux由于界面简单、操作复杂、应用软件少的缺点,一直被Windows 所压制
  • 近些年来随看Ubuntu、Fedora等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,Linux在个人桌面领域的占有率在逐渐的提高

Centos 图形界面

Centos 的桌面

image-20220829103543394

文件和目录

Windows 和 Linux 文件系统的区别

Windows 下的文件系统
  • 在Windows下,打开“计算机”,我们看到的是一个个驱动器盘符

image-20220829103721359

  • 每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:

    image-20220829104124639

Linux 下的文件系统
  • !:Linux没有盘符的概念,只有根目录的概念;就算插入优盘也不会显示盘符,只会在某个文件夹里

  • 在Linux下,我们是看不到这些驱动器盘符的,我们看到的是文件夹(目录)∶

    image-20220829104413370

  • Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面

    image-20220829104448664

用户目录

位于 /home/user ,称之为用户工作目录或家目录,表示方式:

/home/user
~

Linux 主要目录速查表

  • /∶根目录,一般根目录下只存放目录,在linux下有且只有一个根目录,所有的东西都是从这里开始。

    • 当在终端里输入 /home ,其实是在告诉电脑,先从 / (根目录)开始,再进入到 home 目录
  • /bin、/usr/bin:可执行二进制文件的目录,如常用的命令 Ils、tar、mv、cat等

  • /boot:放置linux系统启动时用到的一些文件,如linux的内核文件: /boot/vmlinuz ,系统引导管理器: /boot/grub

  • /dev︰存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/ cdrom /mnt

  • /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有

    • /etc/inittab
    • /etc/fstab
    • /etc/init.d
    • /etc/X11
    • /etc/sysconfig
    • /etc/xinetd.d
  • /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下。

    • ~ 表示当前用户的家目录
    • ~ edu 表示用户 edu 的家目录
  • /lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助

  • /lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下

  • /mnt:/media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载

  • /opt:给主机额外安装软件所摆放的目录

  • /proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件

    有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等

  • /root:系统管理员root的家目录

  • /sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如 fdisk、shutdown、mount等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能 "查看" 而不能设置和使用

  • /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

  • /srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在/srv/www 内

  • /usr︰应用程序存放目录

    • /usr/bin:存放应用程序
    • /usr/share:存放共享数据

    image-20220829110856862

常用 Linux 命令的基本使用

image-20220830202633556

命令行程序

  • 终端 - terminal

cd 切换文件夹

  • cd /home:绝对路径,以根目录开头
  • cd admin:相对路径,不以根目录开头
  • cd .. : 返回上级目录
  • cd ~ : 到自己的家目录 /home/admin
  • cd - :电视回看功能(上一个操作)

pwd 查看当前目录

image-20220830203327051

ls 查看当前文件夹下的内容

image-20220830203220575

  • ls -a:把当前文件夹所有的东西都显示出来,包含隐藏文件,影藏文件是以 . 开头的文件

  • ls -l:显示更详细的信息(常用)

    image-20220830203507482

    • 过于常用,所以有快捷的命令 :ll

      image-20220830203928613

  • ls -lh(或者ls -hl) :把文件以更人性化(看得懂)的方式显示

    • 顺序无关,但是只有h的话不显示

    image-20220830203600986

mkdir 创建文件夹

  • mkdir tupian :在当前目录下创建文件夹
  • mkdir /home/admin/tupian :以绝对路径创建文件夹
  • mkdir /home/admin/a/tupian -p :如果上级目录不存在,加上-p自动创建父目录
  • mkdir a b:在当前目录创建多个文件夹
  • mkdir a/{c,d}:在指定目录下创建多个文件夹
  • mkdir .abc :以 . 开头是创建隐藏文件夹

touch 创建空文件

  • touch abc.txt :在当前目录下创建;如果指定了目录,必须保证上级目录存在
  • touch .abc : 创建隐藏文件
  • gedit abc.txt :使用记事本打开文件 (如果没有此文件,直接创建)

rm 删除文件

  • rm a.txt:删除文件
  • rm abc -r :删除文件夹
  • rm * -r :不能删除隐藏文件;隐藏文件只能通过写名称一个一个删

快捷键

自动补全
  • 在敲出 文件 / 目录 / 命令 的前几个字母之后,按下 tab
    • 如果输入的没有歧义,系统会自动补全
    • 如果还存在其他 文件 / 目录 / 命令 ,再按一下 tab 键,系统会提示可能存在的命令
其他
  • / 光标键,可以在曾经使用过t的命令之间来回切换

  • 如果想要退出选择,并且不想执行当前选中的命令,可以按 ctrl + c

  • ctrl + shift + = 放大终端窗口的字体显示

  • ctrl + – 缩小终端窗口的字体显示

Linux 终端命令格式

终端命令格式

command [options] [parameter]

说明

  • command :命令名,相应功能的英文单词或单词的缩写
  • options :选项,可用来对命令进行控制,也可以省
  • parameter ︰传给命令的参数,可以是零个、一个或者多个

[] 代表可选 ,比如pwd命令后面两个就可以都不填

查阅命令帮助信息

--help
command --help

说明

  • 显示 command 命令的帮助信息 (中文)
man
man command

说明:

  • 查阅 command 命令的使用手册

manmanual 的缩写,是 Linux 提供的一个手册,包含了绝大部分的命令、函数的详细使用说明

使用 man 时的操作键:

image-20220830212201307

权限

drwxrwxr-x

  • 第一个字母
    • d : 代表文件夹
    • -:代表文件

rwx rwx r-x

  • rwx中r、w、x的含义:

    • r:可读 ; w:可写 ; x:可执行
  • 一共有三组,每组的含义是:

    • 第一组指文件的拥有者的权限
    • 第二组代表文件拥有的组的权限
    • 第三组代表其他用户的权限

Linux 基本命令

ls - 查看其他目录的内容

  • 通配符

    image-20220830213320144

  • ls -la /home :查看指定文件夹内容(不再用cd)

  • ls *txt :查看当前目录下所有以 txt 结尾的文件

cp - 拷贝

  • cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。
cp 1.txt 2.txt

前面是源文件,后面是目标文件

  • 常用选项说明:

    image-20220830214542117

  • cp 1.txt 2.txt
    cp abc abc_bak -r :拷贝文件夹

mv:移动、重命名

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。

mv 1.txt 2.txt
  • 常用选项说明

    image-20220831092405977

  • mv 1.txt 2.txt :重命名

  • mv 1.txt ~ :移动到指定目录

输出重定向命令:>

Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

ls >test.txt (test.txt如果不存在,则创建,存在则覆盖其内容)
  • 注意:>输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部。
  • ls > 1.txt :把命令返回的结果输出到文件中,会覆盖之前的数据,默认情况命令返回的结果是显示在屏幕中
  • ls >> 1.txt :把命令返回的结果输出到文件中,追加的方式

查看或合并文件内容:cat

cat test1.txt test2.txt
  • image-20220831093224575

  • cat 1.txt :把文件的内容全部显示到屏幕中

  • cat 1.txt 2.txt

  • cat 1.txt 2.txt > 3.txt :把多个文件的内容合并到新的文件中

more - 查看文件内容,可以分页显示

  • ls / >>1.txt
  • more 1.txt :查看内容多的文件,按空格键往下翻页,按b按键往回翻页,按q退出
  • image-20220831093658399

管道 :|

  • 管道:一个命令的输出可以通过管道做为另一个命令的输入。

  • 管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ |"的左右分为两端,左端塞东西(写),右端取东西(读)。

ls / | more
  • ls -l / | more :把左边的命令返回的结果交给右边命令进行处理

建立链接文件:ln

Linux链接文件类似于Windows下的缺捷方式。

  • 链接文件分为软链接和硬链接。

    • 软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
    • 硬链接︰硬链接只能链接普通文件,不能链接目录。
  • 使用格式

    硬链接
    ln 源文件 链接文件
    
    软链接
    ln -s 源文件 链接文件
    
软链接
  • 本身不存储内容只记录源文件的名称

  • ln -s 1.txt 1_link :给1.txt创建一个软链接,相当于windows中的快捷方式

  • ln -s 1.txt ~/1_link :给其他目录创建一个软链接,如果源文件不写绝对路径,软链接指向的文件是不存在

  • ln -s /home/admin/1.txt ~/1_link

  • ln -s abc abc_link :给目录创建软链接

硬链接:
  • 本身占空间,相当于把源文件复制一份,与源文件同步变化,删除硬链接文件不影响源文件

  • 使用ll查看时,有一个数字,代表有几个文件能同步发生变化

  • ln 1.txt 1_hard_link

grep:查找文件内容

Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。

  • grep一般格式为:

  • grep [-选项] '搜索内容串'文件名
    
  • 在grep命令中输入字符串参数时,最好引号或双引号括起来。

    例如︰

    grep 'a' 1.txt
    
  • 常用选项说明:

    image-20220831104610436

  • grep搜索内容串可以是正则表达式

    • 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个 “规则字符串” ,这个 “规则字符串" 用来表达对字符串的一种过滤逻辑。
  • grep常用正则表达式:

    image-20220831104707956

  • 开发常用:

    image-20220831112322275

  • 例子:

    • grep hello test.txt :在某个文件中查找包含hello的内容,只要一行中有hello会把整行显示
    • grep -niv hello test.txt
      • n显示查找到的内容的行号
      • i查找时不区分大小写
      • v反向查找,查找不包含hello的行
    • grep -n hello /home/admin -r :查找整个目录中的所有文件,包含hello的内容

查找文件:find

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

  • 常用用法

    image-20220831113657462

  • 例子:

    • find /home -name 1.txt :在/home目录下查找文件名为1.txt的文件
    • find /home -name '*txt' :在/home目录下查找以txt结尾的文件

归档管理:tar

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

  • tar 使用格式 : tar [参数] 打包文件名 文件

    打包
    tar cvf a.tar *.txt
    
    解包
    tar xvf a.tar -c atar
    
  • tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

    常用参数:

    image-20220831114625292

打包
  • tar cvf a.tar 1.txt 2.txtf必须放在最后
    • f 后面的第一个参数代表要生成的文件名,后面所有的参数是要打包的文件
列出包里面的文件
  • tar tf a.tar
解包
  • tar xvf a.tar :如果没写目录,把包里面的文件解开放到当前目录

  • tar xvf a.tar -C tar :解包到指定的文件夹,文件夹需要提前创建好(一定注意是大写的C

文件压缩解压:gzip

  • tar与gzip命令结合使用实现文件打包、压缩。tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

  • gzip使用格式如下:

    gzip [选项] 被压缩文件
    
  • 常用选项

    image-20220831115630360

压缩与解压
  • 压缩

    1. 打包

      tar cf a.tar * : 生成a.tar文件
      
    2. 压缩

      gzip -r a.tar : 生成a.tar.gz文件
      
  • 解压

    1. 解压

      gzip -d a.tar.gz : 生成a.tar文件
      
    2. 解包

      tar xf a.tar -c ~/atar : 解包到指定文件夹中
      

文件压缩解压:bzip2

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。

  • tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.bz2。
  • 在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
  • 压缩用法:tar -jcvf 压缩包包名 文件...
    • (tar jcvf bk.tar.bz2*.c)
  • 解压用法: tar -jxvf压缩包包名 文件...
    • (tar jxvf bk.tar.bz2)

文件压缩解压:zip、unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

  • 压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

  • 解压文件:unzip -d 解压后目录文件 压缩文件

gzip

  • 一步到位 - 打包并且压缩

image-20220831142951394

​ - tar czf b.tar.gz *txt :以gzip的方式打包并且压缩

  • 一步到位 解压并且解包

​ - tar zxf b.tar.gz -C btar:以gzip的方式打包并且压缩

bzip2

  • tar jcf j.tar.bz2 *txt
  • tar xjf j.tar.bz2 -c jtar

zip

  • zip -r zz *txt:zz代表要生成的压缩文件,不需要写扩展名,会自动生成zip扩展名

  • zip -d zz zz.zip:解压时会自动创建目录

压缩率

  • zip < gzip < bzip2

通用性

  • zip > qzip > bzip2

查看命令位置 :which

  • 看这个命令到底在哪儿(显示它的路径)

切换到管理员账号

  • Centos下切换到root的简单命令:su
  • 从root 切换回去:su admin

设置用户密码:passwd

在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。

退出登录账户:exit

  • 如果是图形界面,退出当前终端;

  • 如果是使用ssh远程登录,退出登陆账户;

  • 如果是切换后的登陆用户,退出则返回上一个登陆账号。

    查看登录用户:who

who命令用于查看当前所有登录系统的用户信息。

  • 常用选项:

    image-20220831172952654

  • 两种情况:

    admin  pts/0
    admin  tty1
    
    • pts 代表一个终端
    • tty代表用户登录了操作系统
  • 关掉:pkill -kill -t tty1

关机重启:reboot、shutdown

image-20220831193456769

  • reboot :不需要权限
  • shutdown :需要root权限

修改文件权限:chmod

chmod 修改文件权限有两种使用格式:字母法与数字法。

字母法:
  • chmod u/g/o/a +/-/= rwx文件

    image-20220831193754012

    • image-20220831200932348

    image-20220831193819746

    • = :设置权限,即把之前的权限换成新的权限

    image-20220831200609752

  • chmod u+r test.txt :给文件的拥有者添加r(读)权限

数字法
  • “rwx” 这些权限也可以用数字来代替

image-20220831202622520

  • 如执行: chmod u=rwx, g=rx, o=r filename 就等同于: chmod u=7,g=5,o=4 filename

    • 7=1+2+4 -->rwx
    • 5=1+4 -->r-x
    • 4=4 -->r--
  • chmod 751 file

    • 文件所有者:读、写、执行权限
    • 同组用户:读、执行的权限
    • 其它用户:执行的权限
  • chmod 123 test.txt :第一位数字代表自己的权限,第二位代表自己组的权限,第三位代表其他人的权限

  • 3=1+2 代表 wx 权限

编辑器vim

vi简介

  • vi是"Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。vi没有菜单,只有命令,且命令繁多。

    Vi有三种基本工作模式:
    + 命令模式
    + 文本输入模式
    + 末行模式
    

image-20220831210729324

命令行模式

​ 任何时候,不管用户处于何种模式,只要按一下ESC键,即可使vi进入命令模式﹔我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。

vim基础操作

  • vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富进入插入模式:

    i:插入光标前一个字符
    I:插入行首
    a:插入光标后一个字符
    A:插入行未
    o:向下新开一行,插入行首
    0:向上新开一行,插入行首
    
  • 进入命令模式:

    • ESC:从插入模式或末行模式进入命令模式
      移动光标:
    h : 左移
    j : 下移
    k : 上移
    l : 右移
    M : 光标移动到中间行
    L : 光标移动到屏幕最后一行
    G : 移动到指定行,行号-G
    w : 向后一次移动一个字
    b : 向前一次移动一个字
    { : 按段移动,上移
    } : 按段移动,下移
    ctr-d : 向下翻半屏
    ctr-u:向上翻半屏
    ctr-f:向下翻一屏
    ctr-b:向上翻一屏
    gg:光标移动文件开头
    G:光标移动到文件末尾
    

删除命令

  • x:删除光标后一个字符,相当于Del
  • X:删除光标前一个字符,相当于Backspace
  • dd:删除光标所在行
    • n dd删除指定的行数
    • D:删除光标处和光标以后所有的内容
  • d0:删除光标前本行所有内容,不包含光标所在字符
  • dw:删除光标开始位置的字,包含光标所在字符

撤销命令

u : 一步一步撤销
Ctr-r : 反撤销

重复命令

. : 重复上一次操作的命令

文本行移动

>> : 文本行右移
<< : 文本行左移

复制粘贴

yy : 复制当前行; 
n yy : 复制n行
p:在光标所在位置向下新开辟一行,粘贴

可视模式

v:按字符移动,选中文本
V:按行移动,选中文本可视模式可以配合d,y,>>,<<实现对文本块的删除,复制,左右移动

替换操作

r:替换当前字符
R:替换当前行光标后的字符,直到按esc

查找命令

/ : str查找
n : 下一个
N : 上一个

标签:文件,tar,命令,Linux,基本操作,txt,目录
来源: https://www.cnblogs.com/lzy5967/p/16652925.html

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

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

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

ICode9版权所有