Linux内核的官方网站:https://www.kernel.org/

目录
- 命令备忘录
- 1.关机/重启/注销
- 2.系统信息和性能查看
- 3.磁盘和分区
- 4.用户和用户组
- 5.网络和进程管理
- 6.常见系统服务命令
- 7.文件和目录操作
- 8.文件查看和处理
- 9.打包和解压
- 10.RPM包管理命令
- 11.YUM包管理命令
- 12.DPKG包管理命令
- 13.APT软件⼯具
- 常用的命令
- 1.不同目录下切换
- 2.进入到某个目录
- 3.显示当前目录中的文件和子目录
- 4.解压缩文件
- 5.创建文件或文件夹
- 6.删除文件或文件夹
- 7.关于终端的常用操作
- 8.打开终端
- 9.建立符号连接(软连接)
- 10.全局查找某一个文件
- 11.关于ip的设置
- 12.关节和重启
- 13.启动和关闭后台终端
- 14.查看程序是否在运行状态
- 15.克隆一个项目并进行编译的步骤
- 16.gdb指令
- 17.下载软件安装包后安装软件
- 18.tcpdump抓包工具
- 19.ldd指令
- 20.新建子仓库
- 21.手动启动xfwm4
- 22.指定math.cpp生成名为libmath.so的动态链接库
- 23.指定链接库为当前目录
- 24.卸载软件
- 25.netstat
命令备忘录
1.关机/重启/注销
常用命令 作用 shutdown -h now 即刻关机 shutdown -h 10 10分钟后关机 shutdown -h 11:00 11:00关机 shutdown -h +10 预定时间关机(10分钟后) shutdown -c 取消指定时间关机 shutdown -r now 重启 shutdown -r 10 10分钟之后重启 shutdown -r 11:00 定时重启 reboot 重启 init 6 重启 init 0 ⽴刻关机 telinit 0 关机 poweroff ⽴刻关机 halt 关机 sync buff数据同步到磁盘 logout 退出登录Shell 2.系统信息和性能查看
常用命令 作用 uname -a 查看内核/OS/CPU信息 uname -r 查看内核版本 uname -m 查看处理器架构 arch 查看处理器架构 hostname 查看计算机名 who 显示当前登录系统的⽤户 who am i 显示登录时的⽤户名 whoami 显示当前⽤户名 cat /proc/version 查看linux版本信息 cat /proc/cpuinfo 查看CPU信息 cat /proc/interrupts 查看中断 cat /proc/loadavg 查看系统负载 uptime 查看系统运⾏时间、⽤户数、负载 env 查看系统的环境变量 lsusb -tv 查看系统USB设备信息 lspci -tv 查看系统PCI设备信息 lsmod 查看已加载的系统模块 grep MemTotal /proc/meminfo 查看内存总量 grep MemFree /proc/meminfo 查看空闲内存量 free -m 查看内存⽤量和交换区⽤量 date 显示系统⽇期时间 cal 2021 显示2021⽇历表 top 动态显示cpu/内存/进程等情况 vmstat 1 20 每1秒采⼀次系统状态,采20次 iostat 查看io读写/cpu使⽤情况 sar -u 1 10 查询cpu使⽤情况(1秒⼀次,共10次) sar -d 1 10 查询磁盘性能 3.磁盘和分区
常用命令 作用 fdisk -l 查看所有磁盘分区 swapon -s 查看所有交换分区 df -h 查看磁盘使⽤情况及挂载点 df -hl 同上 du -sh /dir 查看指定某个目录的大小 mount /dev/hda2 /mnt/hda2 挂载hda2盘 mount -t ntfs /dev/sdc1 /mnt/usbhd1 指定⽂件系统类型挂载(如ntfs) mount -o loop xxx.iso /mnt/cdrom 挂载iso⽂件 mount /dev/sda1 /mnt/usbdisk 挂载usb盘/闪存设备 umount -v /dev/sda1 通过设备名卸载 umount -v /mnt/mymnt 通过挂载点卸载 fuser -km /mnt/hda1 强制卸载(慎⽤) 4.用户和用户组
常用命令 作用 useradd xxxx 创建用户 userdel -r xxxx 删除用户 usermod -g group_name user_name 修改⽤户的组 usermod -aG group_name user_name 将⽤户添加到组 usermod -s /bin/ksh -d /home/codepig–g dev xxxx 修改⽤户xxxx的登录Shell、主⽬录以及⽤户组 groups test 查看test⽤户所在的组 groupadd group_name 创建⽤户组 groupdel group_name 删除⽤户组 groupmod -n new_name old_name 重命名⽤户组 su - user_name 完整切换到⼀个用户环境 passwd 修改密码 passwd xxxx 修改某⽤户的密码 w 查看活动⽤户 id xxxx 查看指定⽤户xxxx信息 last 查看⽤户登录⽇志 crontab -l 查看当前⽤户的计划任务 cut -d: -f1 /etc/passwd 查看系统所有⽤户 cut -d: -f1 /etc/group 查看系统所有组 5.网络和进程管理
常用命令 作用 ifconfig 查看网络接口属性 ifconfig eth0 查看某网卡的配置 route -n 查看路由表 netstat -lntp 查看所有监听端口 netstat -antp 查看已经建立的TCP连接 netstat -lutp 查看TCP/UDP的状态信息 ifup eth0 启⽤eth0网络设备 ifdown eth0 禁⽤eth0网络设备 iptables -L 查看iptables规则 ifconfig eth0 192.168.1.1 netmask 255.255.255.0 配置ip地址 dhclient eth0 以dhcp模式启⽤eth0 route add -net 0/0 gw Gateway_IP 配置默认⽹关 route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 配置静态路由到达网络络’192.168.0.0/16’ route del 0/0 gw Gateway_IP 删除静态路由 hostname 查看主机名 host www.baidu.com 解析主机名 nslookup www.baidu.com 查询DNS记录,查看域名解析是否正常 ps -ef 查看所有进程 ps -ef grep xxxx kill -s name kill指定名称的进程 kill -s pid kill指定pid的进程 top 实时显示进程状态 vmstat 1 20 每1秒采⼀次系统状态,采20次 iostat 查看io读写/cpu使⽤情况 sar -u 1 10 查询cpu使⽤情况(1秒⼀次,共10次) sar -d 1 10 查询磁盘性能 6.常见系统服务命令
常用命令 作用 chkconfig --list 列出系统服务 service status 查看某个服务 service start 启动某个服务 service stop 终止某个服务 service restart 重启某个服务 systemctl status 查看某个服务 systemctl start 启动某个服务 systemctl stop 终止某个服务 systemctl restart 重启某个服务 systemctl enable 开启自启动 systemctl disable 关闭自启动 7.文件和目录操作
常用命令 作用 cd 进入某个目录 cd .. 回上级目录 cd ../.. 回上两级目录 cd 进个人主目录 cd - 回上⼀步所在目录 pwd 显示当前路径 ls 查看文件目录列表 ls -F 查看目录中内容(显示是⽂件还是⽬录) ls -l 查看⽂件和⽬录的详情列表 ls -a 查看隐藏⽂件 ls -lh 查看⽂件和⽬录的详情列表(增强⽂件大小易读性) ls -lSr 查看⽂件和⽬录列表(以⽂件大小升序查看) tree 查看⽂件和目录的树形结构 mkdir 创建⽬录 mkdir dir1 dir2 同时创建两个⽬录 mkdir -p /tmp/dir1/dir2 创建⽬录树 rm -f file1 删除’file1’⽂件 rmdir dir1 删除’dir1’⽬录 rm -rf dir1 删除’dir1’⽬录和其内容 rm -rf dir1 dir2 同时删除两个⽬录及其内容 mv old_dir new_dir 重命名/移动⽬录 cp file1 file2 复制⽂件 cp dir/* . 复制某⽬录下的所有⽂件⾄当前⽬录 cp -a dir1 dir2 复制⽬录 cp -a /tmp/dir1 . 复制⼀个⽬录⾄当前⽬录 ln -s file1 link1 创建指向⽂件/⽬录的软链接 ln file1 lnk1 创建指向⽂件/⽬录的物理链接 find / -name file1 从跟⽬录开始搜索⽂件/⽬录 find / -user user1 搜索⽤户user1的⽂件/⽬录 find /dir -name *.bin 在⽬录/dir中搜带有.bin后缀的⽂件 locate 快速定位⽂件 locate *.mp4 寻找.mp4结尾的⽂件 whereis 显示某⼆进制⽂件/可执⾏⽂件的路径 which 查找系统⽬录下某的⼆进制⽂件 chmod ugo+rwx dir1 设置目录所有者(u)、群组(g)及其他⼈(o)的读(r)写(w)执⾏(x)权限 chmod go-rwx dir1 移除群组(g)与其他⼈(o)对⽬录的读写执⾏权限 chown user1 file1 改变⽂件的所有者属性 chown -R user1 dir1 改变⽬录的所有者属性 chgrp group1 file1 改变⽂件群组 8.文件查看和处理
常用命令 作用 cat file1 查看⽂件内容 cat -n file1 查看内容并标示⾏数 cat xxx.txt 查看xxx.txt文件 tac file1 从最后⼀行开始反看⽂件内容 more file1 查看⼀个长⽂件的内容 less file1 类似more命令,但允许反向操作 head -2 file1 查看⽂件前两行 tail -2 file1 查看⽂件后两行 tail -f /log/msg 实时查看添加到⽂件中的内容 grep xxxx hello.txt 在⽂件hello.txt中查找关键词xxxx grep ^xxxx hello.txt 在⽂件hello.txt中查找以xxxx开头的内容 9.打包和解压
常用命令 作用 zip xxx.zip file 压缩至zip包 zip -r xxx.zip file1 file2 dir1 将多个⽂件+目录压成zip包 unzip xxx.zip 解压zip包 tar -cvf xxx.tar file 创建⾮压缩tar包 tar -cvf xxx.tar file1 file2 dir1 将多个⽂件+⽬录打tar包 tar -tf xxx.tar 查看tar包的内容 tar -xvf xxx.tar 解压tar包 tar -xvf xxx.tar -C /dir 将tar包解压⾄指定⽬录 tar -cvfj xxx.tar.bz2 dir 创建bz2压缩包 tar -jxvf xxx.tar.bz2 解压bz2压缩包 tar -cvfz xxx.tar.gz dir 创建gzip压缩包 tar -zxvf xxx.tar.gz 解压gzip压缩包 bunzip2 xxx.bz2 解压bz2压缩包 bzip2 filename 压缩⽂件 gunzip xxx.gz 解压gzip压缩包 gzip filename 压缩⽂件 gzip -9 filename 最⼤程度压缩 10.RPM包管理命令
常用命令 作用 rpm -qa 查看已安装的rpm包 rpm -q pkg_name 查询某个rpm包 rpm -q --whatprovides xxx 显示xxx功能是由哪个包提供的 rpm -q --whatrequires xxx 显示xxx功能被哪个程序包依赖的 rpm -q --changelog xxx 显示xxx包的更改记录 rpm -qi pkg_name 查看⼀个包的详细信息 rpm -qd pkg_name 查询⼀个包所提供的⽂档 rpm -qc pkg_name 查看已安装rpm包提供的配置⽂件 rpm -ql pkg_name 查看⼀个包安装了哪些⽂件 rpm -qf filename 查看某个⽂件属于哪个包 rpm -qR pkg_name 查询包的依赖关系 rpm -ivh xxx.rpm 安装rpm包 rpm -ivh --test xxx.rpm 测试安装rpm包 rpm -ivh --nodeps xxx.rpm 安装rpm包时忽略依赖关系 rpm -e xxx 卸载程序包 rpm -Fvh pkg_name 升级确定已安装的rpm包 rpm -Uvh pkg_name 升级rpm包(若未安装则会安装) rpm -V pkg_name RPM包详细信息校验 11.YUM包管理命令
常用命令 作用 yum repolist enabled 显示可⽤的源仓库 yum search pkg_name 搜索软件包 yum install pkg_name 下载并安装软件包 yum install --downloadonly pkg_name 只下载不安装 yum list 显示所有程序包 yum list installed 查看当前系统已安装包 yum list updates 查看可以更新的包列表 yum check-update 查看可升级的软件包 yum update 更新所有软件包 yum update pkg_name 升级指定软件包 yum deplist pkg_name 列出软件包依赖关系 yum remove pkg_name 删除软件包 yum clean all 清除缓存 yum clean packages 清除缓存的软件包 yum clean headers 清除缓存的header 12.DPKG包管理命令
常用命令 作用 dpkg -c xxx.deb 列出deb包的内容 dpkg -i xxx.deb 安装/更新deb包 dpkg -r pkg_name 移除deb包 dpkg -P pkg_name 移除deb包(不保留配置) dpkg -l 查看系统中已安装deb包 dpkg -l pkg_name 显示包的⼤致信息 dpkg -L pkg_name 查看deb包安装的⽂件 dpkg -s pkg_name 查看包的详细信息 dpkg –unpack xxx.deb 解开deb包的内容 13.APT软件⼯具
常用命令 作用 apt-cache search pkg_name 搜索程序包 apt-cache show pkg_name 获取包的概览信息 apt-get install pkg_name 安装/升级软件包 apt-get purge pkg_name 卸载软件(包括配置) apt-get remove pkg_name 卸载软件(不包括配置) apt-get update 更新包索引信息 apt-get upgrade 更新已安装软件包 apt-get clean 清理缓存 常用的命令
1.不同目录下切换
- 进入root目录
sudo su
- 进入用户目录,如用户名是BossDog
su BossDog
2.进入到某个目录
cd:打开某个文件夹,如cd Desktop/
cd ..:回退到上一个目录
(图片来源网络,侵删)pwd:显示当前所在的目录路径
3.显示当前目录中的文件和子目录
- ls:ls是"list"的缩写,用于列出指定目录中的文件和子目录,它的常用选项包括:
-l:以长格式显示文件和目录的详细信息,包括文件权限、所有者、大小、修改时间等。 -a:显示所有文件和目录,包括以"."开头的隐藏文件。 -h:以人类可读的格式显示文件大小,如使用K、M、G等单位。 -r:以相反的顺序显示文件和目录。 -t:按照修改时间排序,最新修改的文件或目录显示在前面。
- ll:ll是ls -l的简写形式,实际上是ls命令的一个别名。它以长格式显示目录中的文件和子目录,并且默认包含了一些常用的选项,如显示文件权限、所有者、大小、修改时间等。
4.解压缩文件
- 使用unzip指令
压缩命令
zip newfile.zip file1 file2 file # 将文件file1、file2和file3压缩成名为newfile.zip的压缩文件
# 将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip zip -q -r html.zip /home/html
解压缩命令
unzip filename.zip
- 使用tar指令
压缩命令
tar -zcvf filename.tar.gz newfilename
解压缩命令
tar -zxvf filename.tar.gz
- 解压缩.tar.bz2格式的文件
压缩命令
tar -cjf images.tar.bz2 ./images/
解压缩命令
tar -xjf images.tar.bz2
5.创建文件或文件夹
mkdir:创建一个文件夹
mkdir -p /root/.config/autostart
touch:创建一个文件
touch test.txt
6.删除文件或文件夹
rm(remove的缩写):删除一个文件
rm test.txt
rm -r:删除一个文件夹
rm -r src
rm -rf xxx:无提示地强制递归删除xxx文件
7.关于终端的常用操作
reset:重新初始化终端/清屏
clear:清屏
history:查看命令历史
help:帮助
exit:退出
8.打开终端
Ctrl+alt+T:linux中打开终端的快捷键
Ctrl+shift+T:在同一终端中打开另一个终端
9.建立符号连接(软连接)
sudo In -s:用于建立符号连接(又称软连接)
sudo ln -s 源文件 目标文件 sudo ln -s hikvision/hikvision.so hikvision/lib/libMvCameraControl.so
如果报错说某个文件已存在,就删掉那个文件
10.全局查找某一个文件
find / -name "Force.png":寻找一个文件Force.png
find / -name "*penmount*":寻找带penmount字样的文件和文件夹
11.关于ip的设置
ifconfig :查询网口信息
sudo systemctl restart NetworkManager.service :重启网络服务
ifconfig eth0 192.168.192.10 up :设置网卡eht0的ip地址
ifconfig eth0 up:启动网卡eth0
ifconfig eth0 down:关闭网卡eth0
ifconfig 名字 192.168.31.169 netmask 255.255.255.0 # 临时设置某个网卡的ip地址
12.关节和重启
shutdown now:关节
reboot:重启
13.启动和关闭后台终端
Ctrl+Alt+F1:切换到第一个虚拟终端,也就是TTY1。在TTY1上可以登录并执行命令行操作,通常用于系统维护和故障排查。
Ctrl+Alt+F7:切换回图形界面,也就是X会话。
14.查看程序是否在运行状态
假设运行程序是hikcamera
ps -ax|grep hikcamera # 查看程序是否在运行状态 ps -A # 显示所有程序 ps a # 显示现行终端机下的所有程序,包括其他用户的程序 ps e # 列出程序时,显示每个程序所使用的环境变量 ps aux | grep hikcamera # 查询hikcamera的进程 htop -p `pgrep hikcamera` # 查询hikcamera的进程 pgrep hikcamera # 查看进程的信息 pidof ××× # 查询×××软件是否在进程中 killall hikcamera # 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程
15.克隆一个项目并进行编译的步骤
git clone git://github.com/stevengj/nlopt cd ××× mkdir build cd build cmake .. make -j`nproc` sudo make install
或者克隆下来以后,直接用Qt打开该项目的CMakeList.txt,注意项目的构建目录,要改成项目名/build,然后先执行cmake,再进行项目构建。
16.gdb指令
gdb ./hikcamera -l # 显示源代码 -b # 设置断点 -i # 查看信息,如i b查看设置的断点信息 -n # 执行下条语句 -r # 运行程序 -p # 打印变量值,如p sum 打印变量sum的值 -q # 退出gdb调试
gdb -p `pgrep aubo_control` # 进去后输入bt查看堆栈信息,或者run执行程序,q是退出
17.下载软件安装包后安装软件
apt download ×××:下载软件包:
dpkg -i libdouble-conversion3_3.1.5-4ubuntu1_amd64.deb :安装软件包
18.tcpdump抓包工具
tcpdump -i 网卡 -w 名字.cap tcpdump -i enp1s0 -w test.cap
19.ldd指令
ldd -r ×××.so # 执行数据对象和函数的重定位,并且报告任何丢失的对象和函数,可查看当前so库的所有链接文件 # 用来打印或者查看程序运行所需的共享库(访问共享对象依赖关系),常用来解决程序因缺少某个库文件而不能运行的一些问题 cp -d # 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 readelf -d hikcamera # 显示程序依赖的动态库
20.新建子仓库
git submodule add https://gitlab.com/libeigen/eigen # 新建一个子仓库 git submodule update --init # git更新模块
21.手动启动xfwm4
xfwm4 --daemon &
22.指定math.cpp生成名为libmath.so的动态链接库
gcc -shared -fPIC math.c -o libmath.so
23.指定链接库为当前目录
# 指定链接库为当前目录,搜索不到再去系统目录下搜索/usr/local/lib export LD_LIBRARY_PATH="$(pwd)"
24.卸载软件
sudo apt-get --purge remove ×××××
25.netstat
sudo netstat -ap | grep 120225 # 查询进行120225的IP地址和端口号 netstat –tnlp
- 解压缩.tar.bz2格式的文件
- 使用tar指令
- 使用unzip指令
- ll:ll是ls -l的简写形式,实际上是ls命令的一个别名。它以长格式显示目录中的文件和子目录,并且默认包含了一些常用的选项,如显示文件权限、所有者、大小、修改时间等。
- ls:ls是"list"的缩写,用于列出指定目录中的文件和子目录,它的常用选项包括:
- 进入用户目录,如用户名是BossDog
- 进入root目录