熟悉Linux操作系统及Linux常用命令

在Linux终端命令行下的快捷键

  1. ctrl+a:将光标移动到行首处。
  2. ctrl+e:将光标移动到行尾处。
  3. ctrl+u:删除光标之前的内容。
  4. ctrl+l:清屏。
  5. ctrl+r:搜索过去的命令。

Linux根目录下的目录说明

  • home:用户的主目录,每个用户有一个子目录,通常用于存放个人文件和设置。
  • etc:存放配置文件。系统全局配置文件以及大多数软件的配置文件都位于此目录。
  • usr(unix software resource):包含用户可用的应用程序和文件。包括共享库、文档、头文件等。
  • bin:存放系统基本命令可执行文件,如ls,cp等。
  • sbin:存放系统管理员使用的命令可执行文件,如ifconfig,fdisk等。
  • lib:包含系统运行所需的库文件。
  • var:包含经常变化的文件,如日志文件,数据库文件,邮件队列等。
  • boot:存放内核和启动引导程序所需的文件,例如grub配置文件。
  • dev:存放设备文件,为硬件设备提供访问接口。
  • media:挂载外部存储设备,如盘,光盘等。
  • root:系统管理员的主目录
  • mnt:临时挂载点,可以手动挂载文件系统。
  • opt:可选软件包的安装目录,通常用于商业软件或非标准应用程序。
  • proc:虚拟文件系统。用于内核和进程间通信和管理。
  • run:存放系统运行时的临时文件。
  • sys:系统文件,用于存放与设备、驱动和内核相关的信息。
  • tmp:临时文件目录,存储系统和用户创建的临时文件,这些文件在系统重启后会被删除。

Linux知识点总结

  1. 终端:终端是用户与Linux操作系统交互的界面,可以在终端窗口输入命令。
  2. 命令行界面:指在终端中输入命令并接收系统响应的操作界面。
  3. 命令提示符:指在命令行界面中提示用户输入命令的符号。
  4. 自动补全:可以使用Tab键来自动填充命令名或文件名的功能。(两下Tab键可以显示选项)
  5. 命令重定向:指将一个命令的输出重定向到一个文件或另一个文件的输入。
  6. Linux下有两种用户:超级用户(root)和普通用户。
  7. 查看当前系统的用户:cat /etc/passwd
  8. 如果一个用户对目录没有写权限,那么它不能在这个目录新增/删除文件。
  9. 终端下输入alias可以查看Linux系统下起的别名。
  10. 验证ssh服务是否启动ps -elf | grep ssh
  11. Linux系统文件类型(7种)
    • 普通文件:-
    • 目录文件:d
    • 字符设备文件:c
    • 块设备文件:b
    • 软连接:l
    • 管道文件:p
    • 套接字:s

Linux常用命令

一、用户配置

1.su [用户名]
  • 功能:切换用户。
    • 例如:su root(root可以省略)可以从普通用户切换到root用户。
2.sudo+其他命令
  • 功能:可以让普通用户去做部分root的事情。
3.useradd [用户名]
  • 功能:添加一个普通用户。
  • ubuntu下需要useradd -m usernametest -s /bin/bash
    • -m:创建目录。
    • -s:指定使用的脚本解析器。
4.passwd [用户名]
  • 功能:设置或修改用户名的密码。
    • root用户才可以给新创建的用户配置密码sudo passwd [用户名]
5.userdel [用户名]
  • 功能:删除用户。
  • 选项:
    • -r:删除用户后,其家目录不会被删除,若要删除家目录,需要userdel -r [用户名]

二、目录及文件操作

1.ls [选项] [目录或文件]
  • 功能:列出该目录下的所有子目录和文件。
  • 选项:
    • -a:显示所有子目录和文件,因为会有隐藏文件。
    • -l:列出详细信息。
      • 每行详细信息依次为:文件类型 文件权限 连接数 文件所有者 文件所属组 文件大小 最近修改时间 文件名。
      • 权限分为三组,分别为:文件创建者,同组用户,其他用户。
      • 权限名:r(读),w(写),x(执行)。
    • -h:将文件大小以人类易读的方式列出(需要 -lh搭配使用)。
2.cd [目录]
  • 功能:切换目录。
  • 常用切换目录命令:
    • cd ..:切换到上一级目录。
    • cd /:切换到根目录。
    • cd ~:切换到用户主目录下,与直接执行cd效果一样。
    • cd -:切换到上一次目录。
3.pwd
  • 功能:打印当前目录的路径。
4.mkdir [选项] dirname
  • 功能:创建目录。
5.rmdir dirname
  • 功能:删除目录(只能删除空目录)。
6.cp [选项] 源文件 目标文件
  • 功能:把源文件复制到目标文件,或把源文件复制到目标目录文件下。
  • 选项:
    • -f:若目标目录中存在与源文件同名的文件,则直接覆盖,不提示。
    • -i:若目标目录中存在与源文件同名的文件,提示是否覆盖。
    • -r:若拷贝的是一个目录,需要递归的拷贝子目录和文件。
7.mv [选项] 源文件 目标文件
  • 功能:移动(重命名)文件。
  • 选项:
    • -f:若目标目录中存在与源文件同名的文件,直接覆盖,不提示。
    • -i:若目标目录中存在与源文件同名的文件,提示是否覆盖。
8.rm [选项] 文件
  • 功能:删除文件或目录。
  • 选项:
    • -f:删除过程中不会给出提示。
    • -i:删除过程中会交互式提示。
    • -r:若删除的是一个目录,则递归删除子目录及文件。
9.tree [目录]
  • ubuntu下需要sudo apt install tree进行安装。
  • 功能:以树型结构列出目录的内容。
  • 选项:
    • -d:仅列出目录文件,不列出普通文件。
10.chmod
  • 功能:改变文件或目录的访问权限。
  • 文字设定法:chmod u/g/o/a[+/-]r/w/x [文件名]
    • a表示所有用户。
  • 数字设定法:chmod [mode] [文件名]
    • mode为三个八进制数字。
11.find [起始目录] 查找条件 操作
  • 功能:文件查找。
  • 查找条件可以是一个逻辑运算符and(-a)、or(-o)、not(!)组成的复合条件。
    • 例1:在/home/user目录下查找名为code并且类型是目录的文件:
      find /home/user -name code -a -type d
    • 例2:在/home/user目录下查找名字为main.cc或名字为hello.cc的文件:
      find /home/user -name main.cc -o -name hello.cc
    • 例3:在/home/user目录下查找名字不是main.cc的文件:
      find /home/user ! -name main.cc
  • 常用查找条件:
    • 根据名称和文件属性查找:-name,可以使用通配符*、?、[]
      • -size n[bckw]:查找指定文件大小的文件,n后面的字符为单位,缺省为b,表512字节的块。
      • -type x:查找类型为x的文件,x为七种文件类型,f表示普通文件。
      • -empty:查找大小为0的目录或文件。
      • -prem:查找具有指定权限的文件或目录,权限如711、644。
    • 根据时间查找:
    • 可执行的操作:
      • -exec 命令名称 {}:对符合条件的文件执行所给的Linux命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件,命令的末尾必须以\;结束。
        • 例1:在/home/user目录下查找名为main.cc文件并显示文件的详细信息:
          find /home/user -name main.cc -exec ls -l {} \;
          find /home/user -name main.cc | xargs ls -l(工作中更常用)
        • 例2:将当前目录下的普通文件拷贝到/home/user目录下
          find . -type f -exec cp {} /home/user \;
          find . -type f | xargs -i cp {} /home/user
12.df [选项] [文件名]
  • 功能:列出文件系统的整体磁盘空间使用情况。
  • 选项:
    • -h:以人类易读的格式显示文件大小。可以直接df -h显示整个磁盘使用情况。
13.du [选项] [文件名]
  • 功能:显示每个文件和目录的磁盘使用空间。
  • 选项:
    • -h:以人类易读的格式显示大小。
  • 若只想显示当前目录:du -h --max-depth=0 /home/lcl

三、文件查看及处理命令

1.cat [选项] [文件]
  • 功能:查看文件内容。
  • 选项:
    • -b:对非空输出行编号。
    • -E:在每行结束处显示$。
    • -n:对输出的所有行编号。
    • -s:不输出多行空行。
2.head -n 行数值 文件名
  • 功能:显示文件后几行。
3.tail -n 行数值 文件名
  • 功能:显示文件前几行。
4.moreless
  • 功能:单页浏览文件。
5.sort
  • 功能:对文件内容进行排序。
  • sort filename的排序结果只会输出到终端,并不会对源文件进行排序。若想保存排序后的文件,需要将排序结果重定向到一个新的文件中。
6.file 文件名
  • 功能:根据文件内容,判别文件类型。
7.uniq 文件名
  • 功能:报告或删除文件中重复的行。
  • 注意:uniq只能删除相邻的重复行,所以通常uniq需要和sort搭配使用。
  • 选项:
    • -c:在输出行前面加上每行在输出文件中出现的次数。
    • -d:仅显示重复行。
    • -u:仅显示不重复的行。
8.wc 文件名
  • 功能:统计指定文件中的行数、字数、字节数。
    • -l:统计行数。
    • -c:统计字节数。
    • -m:统计字符数。这个标志不能与-c一起用。
    • -w:统计字数。一个字被定义为由空白、跳格、或换行字符分隔的字符串。
9.grep [选项] [查找模式] [文件名1,文件名2,...]
  • 功能:grep过滤器查找指定字符模式的文件,并显示含有此模式的所有行。被寻找的模式为正则表达式
  • grep的通配符:
    • *:零个或任意多个字符。
    • .:一个字符。
  • 选项:
    • -n:在输出前加上匹配串所在的行号。
    • -c:只显示匹配行的数量。
  • 案例1:找到所有.cc文件里是否调用了cout。
    find . -name "*.cc" | xargs grep cout

四、其他命令

1.管道与命令替换
  • 管道:是重定向的一种,将一个程序或命令的输出作为另一个程序或命令的输入。
    ls -l /etc | wc -w
  • 命令替换:暂时用不到
2.umask
  • 功能:查看默认的缺省的掩码值。通过umask 001方式修改掩码值。
3.tar
  • 功能:文档管理。
  • 选项:
    • z:用gzip来压缩/解压缩文件,后缀名为.gz
    • x:从档案文件中释放文件。
    • v:在归档过程中显示处理的文件。
    • f:使用档案文件或设备。
    • c:创建新的档案文件。
  • 案例:
    • 将归档后的压缩文件释放掉:tar zxvf source.tar.gz
    • 在归档的过程中进行压缩:tar zcvf source.tar.gz /home/user/code/*.cc
    • 将所有.cc文件归档到source.tar:tar cvf source.tar
    • 将归档的文件释放掉:tar xvf source.tar
4.gzip/bzip2 [选项] 压缩或解压缩的文件名
  • 功能:gzip将文件压缩压缩为.gz压缩文件,或将.gz压缩文件进行解压;bzip2将文件压缩压缩为.bz2压缩文件,或将.bz2压缩文件进行解压。
  • 选项:
    • -d:将压缩文件进行解压。
    • -v:在压缩或解压过程显示解压或压缩的文件。
  • 案列:
    • 将main.cc进行压缩:gzip/bzip2 -v main.cc
    • 将main.cc.gz解压:gzip -dv main.cc.gz
5.scp filename username@ip:path
  • 功能:远程拷贝文件。
    • filename:文件名称。
    • username:拷贝到的目标主机的用户名。
    • ip:目标主机ip。
    • path:目标主机路径。
6.ifconfig
  • 功能:查看和配置网络设备(只有root权限才可以配置网络)。
  • 案列:
    • 关闭网络:ifconfig ens33 down
    • 启动网络:ifconfig ens33 up
    • 重启网络服务:sudo /etc/init.d/networking restart
7.route
  • 功能:查看与设置路由。当网络不通时,可以通过route查看路由,查看网关配置是否正确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值