在Linux终端命令行下的快捷键
ctrl+a
:将光标移动到行首处。ctrl+e
:将光标移动到行尾处。ctrl+u
:删除光标之前的内容。ctrl+l
:清屏。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知识点总结
- 终端:终端是用户与Linux操作系统交互的界面,可以在终端窗口输入命令。
- 命令行界面:指在终端中输入命令并接收系统响应的操作界面。
- 命令提示符:指在命令行界面中提示用户输入命令的符号。
- 自动补全:可以使用
Tab
键来自动填充命令名或文件名的功能。(两下Tab
键可以显示选项) - 命令重定向:指将一个命令的输出重定向到一个文件或另一个文件的输入。
- Linux下有两种用户:超级用户(root)和普通用户。
- 查看当前系统的用户:
cat /etc/passwd
。 - 如果一个用户对目录没有写权限,那么它不能在这个目录新增/删除文件。
- 终端下输入
alias
可以查看Linux系统下起的别名。 - 验证ssh服务是否启动
ps -elf | grep ssh
。 - 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 [用户名]
。
- root用户才可以给新创建的用户配置密码
5.userdel [用户名]
- 功能:删除用户。
- 选项:
- -r:删除用户后,其家目录不会被删除,若要删除家目录,需要
userdel -r [用户名]
。
- -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
- 例1:在/home/user目录下查找名为code并且类型是目录的文件:
- 常用查找条件:
- 根据名称和文件属性查找:
-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
- 例1:在/home/user目录下查找名为main.cc文件并显示文件的详细信息:
- 根据名称和文件属性查找:
12.df [选项] [文件名]
- 功能:列出文件系统的整体磁盘空间使用情况。
- 选项:
- -h:以人类易读的格式显示文件大小。可以直接
df -h
显示整个磁盘使用情况。
- -h:以人类易读的格式显示文件大小。可以直接
13.du [选项] [文件名]
- 功能:显示每个文件和目录的磁盘使用空间。
- 选项:
- -h:以人类易读的格式显示大小。
- 若只想显示当前目录:
du -h --max-depth=0 /home/lcl
三、文件查看及处理命令
1.cat [选项] [文件]
- 功能:查看文件内容。
- 选项:
- -b:对非空输出行编号。
- -E:在每行结束处显示$。
- -n:对输出的所有行编号。
- -s:不输出多行空行。
2.head -n 行数值 文件名
- 功能:显示文件后几行。
3.tail -n 行数值 文件名
- 功能:显示文件前几行。
4.more
或less
- 功能:单页浏览文件。
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:创建新的档案文件。
- z:用gzip来压缩/解压缩文件,后缀名为
- 案例:
- 将归档后的压缩文件释放掉:
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
。
- 将main.cc进行压缩:
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查看路由,查看网关配置是否正确。