Linux学习笔记:Linux常用命令总结
文章目录
- 前言
- Linux学习笔记:Linux常用命令总结
- 1. 目录命令
- 1.1 Linux目录结构
- 1.2 cd命令 切换工作目录
- 1.3 ls命令 显示目录下文件
- 1.4 mkdir命令 创建目录
- 2. 文件命令
- 2.1 touch命令 创建文件
- 2.2 rm命令 删除文件/目录
- 2.3 cp命令 拷贝文件/目录
- 2.4 mv命令 移动/重命名
- 2.5 cat命令 查看文件内容
- 2.6 less命令 分页查看文件
- 2.6 chmod命令 管理文件权限
- 3. 查找命令
- 3.1 find命令 查找文件
- 3.2 grep命令 文件内搜索
- 4. 压缩与解压缩命令
- 4.1 gzip/gnzip命令 .gz格式文件
- 4.2 tar命令 .tar.gz格式文件
- 4.3 rar和zip命令 .rar和.zip格式文件
- 5. 网络管理命令
- 5.1 w命令 查看用户登录详细信息
- 5.2 ifconfig命令 查看和设置网卡信息
- 5.3 last命令 列出所有登入系统的用户信息
- 5.4 traceroute命令 显示数据到主机的路径
- 5.5 netstat命令 显示网络信息
- 6. 进程管理命令
- 6.1 ps命令 查看系统中所有进程
- 6.2 top命令 查看系统健康状态
- 6.3 kill命令 终止进程
- 6.4 pkill命令 管理系统用户
- 7. 关机命令
- 7.1 shutdown命令
前言
1、Linux的各种常用命令
2、对各命令参数选项的熟悉
Linux学习笔记:Linux常用命令总结
1. 目录命令
1.1 Linux目录结构
linux 只有一个根目录,没有分区。
家目录:当前登陆账户的目录,简写~
dyx@dyx:~/code/StudyNotes$ cd ~
dyx@dyx:~$
/root:特权账号root 目录
/etc/:配置文件目录
1.2 cd命令 切换工作目录
1. 切换到当前用户的家目录: cd / cd ~
2. 切换到上一级目录:cd ..
3. 切换到当前目录:cd .
4. 切换到根目录:cd /
5. 切换到指定目录:cd <绝对路径>
# 目录表示法
. # 表示当前目录
./ # 表示当前目录.. # 表示上级目录
../ # 表示上级目录
# 更换到/etc/vsftpd目录
cd /etc/vsftpd/
1.3 ls命令 显示目录下文件
1. 列出当前工作目录下的文件/文件夹的名称:ls
dyx@dyx:~$ ls
公共的 模板 视频 图片 文档 下载 音乐 桌面 programming snap
2. 语法:ls [options] <path>
options:
- -l:表示list,表示以详细列表的形式进行展示
- -a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
- -h:表示以可读性较高的形式显示,同时文件大小用k表示
- -i:查询i节点
$ ls -lh
总用量 45M
drwxrwxr-x 4 dyx dyx 4.0K 10月 15 23:24 5.15.2
-rw-r--r-- 1 dyx dyx 35K 10月 15 23:25 components.xml
drwxrwxr-x 2 dyx dyx 4.0K 9月 26 15:56 dist
drwxrwxr-x 3 dyx dyx 4.0K 11月 13 2020 Docs
drwxrwxr-x 3 dyx dyx 4.0K 11月 13 2020 Examples
-rw-r--r-- 1 dyx dyx 1.2K 10月 16 09:37 InstallationLog.txt
-rw-r--r-- 1 dyx dyx 48 10月 15 23:25 installer.dat
drwxr-xr-x 43 dyx dyx 4.0K 10月 15 23:24 installerResources
drwxr-xr-x 2 dyx dyx 4.0K 10月 15 23:25 Licenses
-rwxr-xr-x 1 dyx dyx 45M 10月 15 23:25 MaintenanceTool
-rw-r--r-- 1 dyx dyx 353K 10月 15 23:25 MaintenanceTool.dat
-rw-r--r-- 1 dyx dyx 13K 10月 15 23:25 MaintenanceTool.ini
-rw-r--r-- 1 dyx dyx 362 10月 15 23:25 network.xml
drwxrwxr-x 6 dyx dyx 4.0K 10月 15 23:24 Tools
用户组权限
-rwxr-xr-x
第一个字母:文件类型
-:二进制文件;d:目录;l:软链接文件
后九个字母:以三个字母为一组,表示用户组权限(所有者u、所属组g、其他人o)
r:读;w:写;x:执行;-:表示无相关权限
1.4 mkdir命令 创建目录
1. 在当前目录下创建一个新的文件夹:mkdir <foldername>
mkdir myfolder
# 可以一次创建多个目录
mkdir a b c
2. 递归创建:一次创建多层不存在的目录:mkdir -p <foldername>
dyx@dyx:~/programming$ mkdir -p a/b/c
dyx@dyx:~/programming$ tree a/
a
└── b└── c2 directories, 0 files
# tree a/ 查看文件夹层级结构
2. 文件命令
2.1 touch命令 创建文件
语法:touch <filename>
touch test.txt
dyx@dyx:~/programming/a$ ls
b test.txt
2.2 rm命令 删除文件/目录
1. 删除文件:rm <filename>
rm test.txt
2. 删除目录:rm -r <foldername>
rm -rf b
2.3 cp命令 拷贝文件/目录
1. 拷贝文件到指定目录:cp <filename> <path>
cp linux.txt ../testcpp/
2. 拷贝文件夹到指定目录:cp <foldername> <path>
cp -r myfolder/ ../testcpp/
2.4 mv命令 移动/重命名
1. 移动文件/文件夹:mv <filename/foldername> <path>
mv myfolder ../testcpp/
2. 重命名文件:mv <oldfilename> <newfilename>
mv myfile myfile01
2.5 cat命令 查看文件内容
1. 查看文件内容:cat <filename>
dyx@dyx:~/programming/testcpp$ cat test.cpp
#include <iostream>
using namespace std;int main()
{cout << "Hello World!" << endl;return 0;
}
2. 查看文件,同时有行号:cat -n <filename>
$ cat -n test.cpp1 #include <iostream>2 using namespace std;3 4 int main()5 {6 cout << "Hello World!" << endl;7 return 0;8 }
2.6 less命令 分页查看文件
分页查看文件:less <filename>
操作:
- 向下翻页:空格或 f
- 向上翻页:PageUp
- 下一行:Enter或↓
- 上一行:↑
- 退出:q
- 搜索:/ <搜索项>,n 下一项
2.6 chmod命令 管理文件权限
1. 修改文件权限,用法1:chmod [{ugoa} {-+=} {rwx}] <filename/foldername>
$ ls -l issue
-rw-rw-r-- 2 dyx dyx 19 10月 20 22:10 issue
$ chmod u+x issue
$ ls -l issue
-rwxrw-r-- 2 dyx dyx 19 10月 20 22:10 issue
2. 修改文件权限,用法2:chmod [mode] <filename/foldername>
数字命令:r: 2^2=4,w: 2^1=2,x: 2^0=1
# 764: rwxrw-r--
$ chmod 764 issue
$ ls -l issue
-rwxrw-r-- 2 dyx dyx 19 10月 20 22:10 issue
文件和目录操作对应的权限:
文件:
- r: cat/more/less/head/tail
- w: vim
- x: script command
目录:
- r: ls
- w: touch/mkdir/rmdir/rm
- x: cd
3. 查找命令
3.1 find命令 查找文件
1. 以文件名查找文件:find <path> -name <filename>
不区分大小写:-iname
# 1.查找含有该名称的文件
$ find /etc -name *init*
/etc/apparmor/init
/etc/X11/xinit
/etc/X11/xinit/xinitrc
# 2.查找以该名称开头的文件
$ find /etc -name init*
/etc/apparmor/init
/etc/init.d
# 3.?可以匹配单个字符
$ find /etc -name init??
/etc/init.d#在/home目录下查找以.txt结尾的文件名
find /home -name "*.txt"
#当前目录及子目录下查找所有以.txt和.pdf结尾的文件
find . -name "*.txt" -o -name "*.pdf"
#找出/home下不是以.txt结尾的文件
find /home ! -name "*.txt"
2. 按照文件大小查找:find <path> -size [+\-]<filesize>
3. 按照文件类型查找:find <path> -type <filetype>
f:文件;d:目录;l:软链接文件
4. 额外选项
-a:两个条件都满足
-o:两个条件满足一个即可
对搜索结果执行操作:-exec <command> {} \;
$ find /etc -name init* -exec ls -l {} \;
find: ‘/etc/cups/ssl’: 权限不够
总用量 4
drwxr-xr-x 2 root root 4096 10月 15 17:22 network-interface-security
总用量 156
-rwxr-xr-x 1 root root 2269 1月 25 2022 acpid
-rwxr-xr-x 1 root root 5574 1月 12 2022 alsa-utils
-rwxr-xr-x 1 root root 2055 10月 10 2021 anacron
-rwxr-xr-x 1 root root 3740 2月 23 2022 apparmor
-rwxr-xr-x 1 root root 2915 5月 10 21:23 apport
3.2 grep命令 文件内搜索
1. 在文件内搜索指定内容并显示:grep [option] <string> <filename>
option:
- -i:不区分大小写搜索
- -n:显示行号
- -v:排除指定字符
string:
- 指定字符前加
^
表示以指定字符开头
$ grep -in helloworld main.cpp
6: cout << "HelloWorld!" << endl;
4. 压缩与解压缩命令
4.1 gzip/gnzip命令 .gz格式文件
1. 压缩文件为.gz格式:gzip <filename>
$ gzip main.cpp
$ ls
main main.cpp.gz
注意:gzip只能压缩文件,且会删除原文件
2. 解压.gz格式的压缩文件:gnzip <filename>
$ gunzip main.cpp.gz
$ ls
main main.cpp
4.2 tar命令 .tar.gz格式文件
tar选项:
- -c:打包
- -x:解包
- -v:显示详细信息
- -f:指定文件名
- -z:压缩/解压缩
1. 压缩文件为.tar.gz格式:tar -zcf <xx.tar.gz> <foldername>
压缩testcpp文件夹下所有文件为testcpp.tar.gz
tar -czf testcpp.tar.gz testcpp/
$ tar -czf testcpp.tar.gz testcpp/
$ ls
a HelloWorld Linux常用命令.txt testcpp testcpp.tar testcpp.tar.gz
2. 解压.tar.gz格式的压缩文件:tar -zxf <xx.tar.gz>
解压 testcpp.tar.gz到当前文件夹
tar -xzvf testcpp.tar.gz
4.3 rar和zip命令 .rar和.zip格式文件
rar testcpp/ testcpp.rar
#rar格式的压缩,需要先下载rar for linux
zip testcpp.zip testcpp/
#zip格式的压缩,需要先下载zip for linux
unrar e testcpp.rar
#rar格式的解压缩,需要先下载rar for linux
unzip testcpp.zip
#zip格式的解压缩,需要先下载zip for linux
5. 网络管理命令
5.1 w命令 查看用户登录详细信息
$ w10:02:37 up 29 min, 1 user, load average: 0.94, 0.43, 0.64
USER TTY 来自 LOGIN@ IDLE JCPU PCPU WHAT
dyx :1 :1 09:35 ?xdm? 8:45 0.01s /usr/libexec/gd
- tty:本地登录;pts远程终端
- up:系统连续运行的时间
- load average:系统负载
- IDLE:累计空闲时间
- JCPU:占用CPU时间
5.2 ifconfig命令 查看和设置网卡信息
语法:ifconfig <网卡名称> <IP地址>
$ ifconfig
enp3s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500ether d4:81:d7:5b:cd:3a txqueuelen 1000 (以太网)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (本地环回)RX packets 37818 bytes 33183918 (33.1 MB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 37818 bytes 33183918 (33.1 MB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.67.138 netmask 255.255.240.0 broadcast 192.168.79.255inet6 fe80::f4ea:f4e3:262e:d5ef prefixlen 64 scopeid 0x20<link>ether 70:1c:e7:5a:cc:65 txqueuelen 1000 (以太网)RX packets 67157 bytes 71765884 (71.7 MB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 42863 bytes 8823344 (8.8 MB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
5.3 last命令 列出所有登入系统的用户信息
$ last
dyx :1 :1 Sun Oct 23 09:35 still logged in
reboot system boot 5.15.0-52-generi Sun Oct 23 09:33 still running
dyx :1 :1 Sat Oct 22 20:20 - down (01:50)
reboot system boot 5.15.0-52-generi Sat Oct 22 20:17 - 22:10 (01:52)
dyx :1 :1 Fri Oct 21 18:20 - down (02:07)
reboot system boot 5.15.0-52-generi Fri Oct 21 18:18 - 20:27 (02:08)
dyx :1 :1 Fri Oct 21 13:35 - 13:40 (00:05)
reboot system boot 5.15.0-52-generi Fri Oct 21 13:34 - 13:40 (00:06)
dyx :1 :1 Fri Oct 21 08:36 - down (00:32)
reboot system boot 5.15.0-50-generi Fri Oct 21 08:35 - 09:09 (00:34)
dyx :1 :1 Thu Oct 20 19:00 - down (03:35)
reboot system boot 5.15.0-50-generi Thu Oct 20 18:58 - 22:35 (03:36)
dyx :1 :1 Thu Oct 20 17:13 - down (00:17)
reboot system boot 5.15.0-50-generi Thu Oct 20 17:10 - 17:31 (00:21)
reboot system boot 5.15.0-50-generi Wed Oct 19 18:52 - 17:31 (22:38)
dyx :1 :1 Sun Oct 16 09:30 - down (00:44)
reboot system boot 5.15.0-50-generi Sun Oct 16 09:28 - 10:15 (00:46)
dyx :1 :1 Sat Oct 15 22:39 - crash (10:49)
reboot system boot 5.15.0-50-generi Sat Oct 15 22:36 - 10:15 (11:39)
dyx :1 :1 Sat Oct 15 22:32 - down (00:03)
reboot system boot 5.15.0-50-generi Sat Oct 15 22:31 - 22:35 (00:04)
dyx :1 :1 Sat Oct 15 20:52 - down (01:38)
reboot system boot 5.15.0-50-generi Sat Oct 15 20:51 - 22:30 (01:39)
dyx :1 :1 Sat Oct 15 20:09 - down (00:39)
reboot system boot 5.15.0-50-generi Sat Oct 15 20:07 - 20:48 (00:41)
dyx tty2 tty2 Sat Oct 15 19:18 - down (00:18)
reboot system boot 5.15.0-50-generi Sat Oct 15 19:16 - 19:36 (00:19)
dyx tty2 tty2 Sat Oct 15 17:03 - down (00:35)
reboot system boot 5.15.0-50-generi Sat Oct 15 16:59 - 17:38 (00:39)wtmp begins Sat Oct 15 16:59:17 2022
5.4 traceroute命令 显示数据到主机的路径
查询网络链路通畅
$ traceroute www.baidu.com
traceroute to www.baidu.com (110.242.68.3), 30 hops max, 60 byte packets1 192.168.1.1 (192.168.1.1) 2.220 ms 2.335 ms 2.509 ms2 192.168.10.1 (192.168.10.1) 4.864 ms * 9.310 ms
5.5 netstat命令 显示网络信息
语法:netstat [options]
options:
- -t : tcp协议
- -u : udp协议
- -l : 监听
- -r : 路由
- -n : 显示IP地址和端口
通过查看开启端口进而查看本机开启的服务:netstat -tlun
$ netstat -tlun
激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:7890 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:42037 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
udp 0 0 0.0.0.0:44245 0.0.0.0:*
udp 0 0 0.0.0.0:52524 0.0.0.0:*
udp 0 0 224.0.0.251:5353 0.0.0.0:*
udp 0 0 224.0.0.251:5353 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp 0 0 127.0.0.1:7890 0.0.0.0:*
udp 0 0 127.0.0.53:53 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
udp6 0 0 :::5353 :::*
udp6 0 0 :::54799 :::*
udp6 0 0 :::60209 :::*
查询已连接的服务:netstat -an
查询网关:netstat -rn
$ netstat -rn
内核 IP 路由表
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.64.254 0.0.0.0 UG 0 0 0 wlp2s0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlp2s0
192.168.64.0 0.0.0.0 255.255.240.0 U 0 0 0 wlp2s0
192.168.64.254为网关
6. 进程管理命令
6.1 ps命令 查看系统中所有进程
语法:ps aux
查看系统中所有进程,使用BSD操作系统格式
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 166764 11756 ? Ss 15:17 0:01 /sbin/init sp
dyx 4599 0.0 0.0 33575880 3448 ? Sl 15:22 0:00 /opt/google/c
dyx 7953 0.0 0.0 19928 5308 pts/0 Ss 16:00 0:00 bash
dyx 7971 0.0 0.0 21340 3472 pts/0 R+ 16:01 0:00 ps aux
- USER:用户
- PID:进程PID
- %CPU:占用CPU资源百分比
- %MEM:占用物理内存百分比
- VSZ:占用虚拟内存的大小,单位KB
- RSS:占用物理内存的大小,单位KB
- TTY:该进程是在哪个终端运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地字符界面终端,tty7是图形终端。pts/0-256代表虚拟终端。
- STAT:进程状态。R:运行,S:睡眠,T:停止状态,s:包含子进程,+:位于后台
- START:进程起始时间
6.2 top命令 查看系统健康状态
语法:top [options]
options:
- -d:更新秒数,默认是3秒
在top命令的交互模式下,按:
- P:CPU使用率排序,降序
- M:内存使用率排序
- N:PID排序
- ?或h:帮助
- q:退出
load average:系统在之前1分钟、5分钟、15分钟的平均负载
87.5 id:空闲CPU所占百分比
6.3 kill命令 终止进程
语法:kill [信号] [进程号]
常用命令:
重启进程:kill -1 [进程号]
强制杀死进程:kill -9 [进程号]
6.4 pkill命令 管理系统用户
按照终端号踢出用户步骤:
查询本机已登录的用户:w
强制终止从终端号登录的进程:pkill -t -9 [终端号]
7. 关机命令
7.1 shutdown命令
语法:shutdown [options] [time]
options:
- -h : 关机
- -r : 重启
- -c : 取消前一个关机命令
time:
- now : 现在
- hh:mm : 指定时间
Linux学习笔记:Linux常用命令总结相关推荐
- Linux 学习笔记2 常用命令
Linux 学习笔记1 安装linux详细教程_O丶ne丨柒夜的博客-CSDN博客 Linux_目录结构 基本介绍 1.liux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录&quo ...
- Linux自学笔记 | 10 常用命令 - 压缩解压类
Linux自学笔记 | 10 常用命令 - 压缩解压类 Linux自学笔记 | 01 文件系统和目录结构 Linux自学笔记 | 02 VIM编辑器的安装与使用 Linux自学笔记 | 03 Linu ...
- Linux学习笔记---使用tftp命令下载文件
向开发板下载数据时,不仅可以通过nfs命令下载,还可以通过更简单的命令tftp下载. 用网线将开发板和笔记本连接起来,设置好网络环境.网络的具体设置方法可以参考 Linux学习笔记---网线直连电脑和 ...
- Linux 学习笔记3 -- 常用 Linux 命令的基本使用
文章目录 1. 学习 Linux 终端命令的原因 2. 常用 Linux 命令的基本使用 3. 终端实用技巧 3.1 自动补全 3.2 曾经使用过的命令 4. Linux 终端命令格式 5. 查阅命令 ...
- linux学习笔记2——ls命令说明
ls是list的简写,功能是列出目录的内容,类似于DOS下的dir命令.这篇学习笔记主要介绍ls命令相关知识. 一.Linux下文件目录的特点 蓝色字体代表文件夹,白色字体代表文件 1.Linux文件 ...
- Linux学习笔记——Linux、命令 01
操作系统的发展史 Unix 1965年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘.显示器),连接一台电 ...
- linux学习笔记:yum命令的常见用法
要知道,不同的linux系统里软件包的命令可能是不同的. yum命令是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 例如: yum install -y net-too ...
- linux学习笔记-- linux的 shell和linux C 程序 获取命令行参数和环境变量
常用的linux指令基本都支持命令行参数 例如 : ls -l rm -r rm -f cp -r 那么 这些参数都是如何去被应用程序获取的呢? 学习记录一下 1. shell 脚本 1.1 shel ...
- Git学习笔记:常用命令总结
本文根据廖雪峰的博客,记录下自己的学习笔记.主要记录常用的命令,包括仓库初始化.添加文件.提交修改.新建分支.内容暂存.分支管理.标签管理等内容. git是分布式版本控制系统. 首先是安装,从官网下载 ...
- Docker学习笔记之常用命令
背景 整理一下常用的Docker命令 常用命令 帮助命令 1.查看版本 $ docker versionClient: Version: 18.03.0-ce API version: 1.37 Go ...
最新文章
- python语言用途-Python是万能的编程语言吗?这五大用途很重要!
- inxtrackup mysql_雪糕 的动态 - SegmentFault 思否
- linux下工具exfs用法
- Maven Git发布
- 解决问题 com.alibaba.fastjson.JSONObject cannot be cast to xxx
- 已然是身份的象征了?Coach品牌再入天猫 只有目标用户才有机会看到
- 云课堂智慧职教网页版登录入口_云课堂智慧职教网页版登录入口
- 二叉树的学习:前中后序遍历方法
- 通信原理及系统系列11—— 设计无码间串扰的通信系统(升余弦滚降滤波器)
- 磨皮进阶之高低频全方位解析
- java中的tld_自定义标签tld的使用
- CSAPP:第四章——处理器体系结构(上)
- 单例模式只会懒汉饿汉?读完本篇让你面试疯狂加分
- Flask框架:创建app对象
- Glide,AndroidX包兼容问题
- 【3D目标检测】双目3D视觉原理
- 在线电子书阅读微信小程序 毕业设计(2)分类
- Flutter(五)沉浸式状态栏
- OCCT学习003-----MFC单文档工程
- android 编译 icu,使用NDK构建ICU