linux实用命令及注意(持续更新)

1、cp -a src/* des不会复制src目录以及子目录的文件(夹),cp -a src/. des则会复制src目录下所有文件(包括隐藏文件【文件名.开头的文件】)。

2、du -h --max-depth=1 . 或者 du -sh * 显示当前目录每个子目录的大小。

3、cp与dd的区别,dd是对块(设备,如磁盘)进行操作的,cp是对文件操作的。dd将原始数据(raw data)按照数据源的格式原封不动的拷贝到目的地;cp将文件和目录拷贝到目的地后按照目的地的格式排列新数据。

4、dmesg命令用于显示开机信息。kernel会将开机信息存储在ring buffer中。您若是开机时.不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。例如arm64架构可以用 dmesg | grep kvm  查看是否支持kvm。

5、lsmod(英文全拼:list modules)命令用于显示已载入系统的模块。执行 lsmod 指令,会列出所有已载入系统的模块。Linux 操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。您可以将这些功能编译成一个个单独的模块,待需要时再分别载入。例如x86架构中 lsmod  | grep kvm 查看是否有KVM模块(是否支持虚拟化)。

6、dhclient,使用动态主机配置协议动态的配置网络接口的网络参数。插好网线,选择running状态的网卡(ethx),dhclient ethx就可以使用dhcp联网了。

7、lspci是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。lspci能看到的硬件说明硬件是完好的,lspci -v显示的设备状态正常则该硬件的驱动程序已经正常安装。

8、ldconfig 通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。

9、env 命令用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。

10、route -n(或者netstat -rn)查看局域网网关。

11、In 命令为某一个文件在另外一个位置建立一个同步的链接,建立软链接(快捷方式):ln –s 源文件 目标文件,列出当前目录下所有的软链接:ll | grep ^l(^表示 ll命令显示的字符的第一列,也就是文件的属性为l【软链接】)。In -sf  表示强制创建软链接(覆盖以前的链接)。

12、grep命令搜索文本内容,grep -r "{关键字}"  {路径}   用来查找某目录下包含关键字内容的文件。

13、diff 命令用来比较两个文件的不同,然后记录下来,模板为  diff -uNr 源文件 目标文件 > xxx.patch

14、make clean  [清楚bin 目录]。

make dirclean    [make clean]+[清除交叉编译工具及工具链目录]。
make distclean  [清除所有相关的东西,包括下载的软件包,配置文件,feed内容等]。

15、tar 解压命令,tar -xf filename -C 路径。

16、yum查询命令属于哪个包,命令为: yum provides ‘ifconfig’;ubuntu查看某个命令属于哪个包管理,命令为:apt-file search XXXX。

17、rpm 查询文件(命令)属于哪个包,rpm -qf /usr/bin/lscpu。

18、查看内存条数命令,dmidecode | grep -A16 "Memory Device$"。

19、查看主板信息,dmidecode -t baseboard(厂商等)。

20、tar -zxvf 待解压文件 -C 解压后的目录;tar -zcvf 压缩后的文件【目录+文件名】 待压缩文件。压缩某个目录下的所有文件(不包含文件夹)则要进入到文件夹下执行 tar -zcvf 压缩后的文件名 ./* 。

21、unzip 待解压文件 -d 解压后的目录。

22、printenv  命令显示环境变量的值,可以在启动阶段(BIOS)的终端(串口)输入查看信息。

23、chroot 命令用于改变根目录,可以强制进入另一个(磁盘)文件系统。

24、ifconfig:显示up状态(激活状态)的网卡信息,ifconfig -a:显示所有网卡的信息,包含未up的。【ifconfig 网卡 up】启动指定的网络设备,【ifconfig 网卡 down 】关闭指定的网络设备。

25、stat 命令可以查看文件的创建、修改时间,stat 文件名。

26、centos8.2 修改默认启动内核  grub2-set-default "内核名字(title)" 或者参考 centos8中grub2启动菜单项实战_chenweicheer的博客-CSDN博客_centos8 grub2。

27、ps -ef | grep '关键字'  搜索与关键字相关的进程信息,可参考ps -ef|grep详解 - despair_ghost - 博客园。

28、kill -9 'pid'  干掉进程号为 pid 的进程。

29、sudo passwd root   ubuntu创建root用户。

30、lsblk  查看磁盘(可以看到raid磁盘)和分区信息。

31、lsb_release -a  (centos)下查看系统版本信息。

32、cat 1.txt >> 2.txt  把一个文件的内容复制到另一个文件的末尾(追加不覆盖)。

33、cat 1.txt > 2.txt  把一个文件的内容复制(重定向)到另一个文件(覆盖)。

34、dd if=/dev/sda of=/dev/sdb status=progress  可以查看对拷的速度,dd是整盘拷贝,主要看磁盘大小,而不是数据大小。

35、ubuntu系统卸载deb包命令:

apt-get remove 会删除软件包而保留软件的配置文件
apt-get purge 会同时清除软件包和软件的配置文件

推荐使用purge

36、ubuntu系统下,相比于apt-get推荐使用apt,apt提供了大多数与apt-get及apt-cache有的功能,但更方便使用。

37、echo 7 > /proc/sys/kernel/printk 尽可能多地查看内核在控制台(串口)的日志,方便分析问题,具体参考Printk打印优先级设定_技术无捷径,一步一脚印-CSDN博客。

38、free -g 查看本机的内存使用情况,参考Linux free命令 | 菜鸟教程。(也可以直接从/proc/meminfo文件中读取)

 机器总内存(内存条内存之和)=mem+swap(125+3=16*8)

39、dtc -I dtb -O dts *.dtb > my.dts 设备树反编译,具体参考设备树文件编译与反编译_SU3752的博客-CSDN博客_设备树反编译。

ACPI(其中之一DSDT)表(二进制文件)是 /sys/firmware/acpi/tables/DSDT 文件,将其拷贝到其他任意目录,接着反编译查看源文件,(ubuntu20.04)执行如下命令:

sudo apt install acpica-tools
sudo cp -a /sys/firmware/acpi/tables/DSDT /
sudo iasl -d /DSDT

命令执行完后,会在根目录生成DSDT.dsl源文件。

40、iptables -F 清除所有规则来暂时停止防火墙。

41、systemctl disable/enable --now xxx 关闭/启动xxx服务

42、setenforce 0/1 关闭/启动 selinux,具体参考setenforce命令 - Linux命令大全 | linux教程。

43、ip a 查看系统的ip地址、网卡状态

linux实用命令及注意(持续更新)_第1张图片

state DOWN/UP group 表示网卡的状态,图中的 enp4s0f3的网卡是上一次启用的网卡(显示有ip地址 inet 10.31.72.189,换网卡running后,需要注销原来的网卡(修改地址:ifconfig enp4s0f3 0.0.0.0),否则网络不知道从哪个端口出 。dhclient 有时会显示  进程正在运行(already running)执行killall dhclient后再次dhclient自动获取就行。另外dhclient执行生成的ip可能会和已有的冲突(路由表刷新不及时),注意选择ping不通的ip。

44、ethtool -i enp4s0f3(网卡) 查看网卡驱动相关信息。

linux实用命令及注意(持续更新)_第2张图片

45、aptitude search ping【命令】,ubuntu查询某个命令属于哪个安装包。

46、拷贝文件夹显示进度条的命令:rsync -av --progress /opt/ /mnt/、scp -r /opt/ /mnt/。具体参考cp命令显示进度条_利用rsync命令和scp命令实现本机带进度条提示拷贝_董秋杰的博客-CSDN博客。

47、vim  撤销:u,恢复撤销:ctrl + r,shell终端去格式粘贴:set paste,

删除某一行:在VIM的命令模式下,使用dd,即可删除光标所在的行,

删除多行:比如要删除8-17行,在VIM模式下,输入:8,17d,即可将8-17行全部删除,

显示行号:在VIM命令模式下,输入:set nu,删除一列:点击Ctrl和v按键,按上下左右键选中要删除的内容,按d即可删除选中的列。

48、ubuntu 挂起(睡眠)命令:pm-suspend,参考https://www.jb51.net/article/95986.htm。

49、编译内核打成deb包:make menuconfig之后执行完make bindeb-pkg [-j8]命令会在内核源码同级目录生成二进制deb包[编译完最后生成](需要安装dpkg-dev包)[打成rpm包的方法类似],参考https://www.debian.org/doc/manuals/debian-handbook/sect.kernel-compilation.zh-cn.html、Centos7内核编译及RPM包的制作 | Winddoing's Noteslinux实用命令及注意(持续更新)_第3张图片

50、virsh console 虚拟机名    显示虚拟机系统的串口打印日志(物理机上执行,虚拟机系统启动立马执行),可以通过virsh list查看虚拟机名称。

51、Linux下扩容方法(把逻辑分区未分配的空间进行分配):(举例说明)

lvextend -L +116G /dev/mapper/ubuntu--vg-ubuntu--lv

resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

52、brctl 命令用于设置、维护和检查linux内核中的以太网网桥配置,网桥可以理解为交换机。参考http://ipcmen.com/brctl

56.统计子目录有多少行 find . -type f | xargs cat | wc -l。

57.depmod -n  列出所有模块的依赖关系,获取模块间的加载顺序。

58、su和su -的区别,参考Linux su命令:用户间切换(包含su和su -的区别)。

59、hwinfo、lshw、inxi命令都可以查看各类研究信息,hwinfo用法参考hwinfo(硬件信息)-在Linux上查找系统硬件信息的漂亮工具 | 码农家园,lshw用法参考lshw命令详解_蓝天居士的博客-CSDN博客_lshw,inxi用法参考Inxi:获取Linux系统和硬件信息的神器 | 《Linux就该这么学》。

60、uefi启动方式的内核(image)转化为uboot启动方式的内核(uimage)命令:

mkimage -A arm64 -O linux -T kernel -C none -a 0x80080000 -e 0x80080000 -n "4.19" -d arch/arm64/boot/Image arch/arm64/boot/uImage ,具体可以参考https://www.cnblogs.com/AMDDMA/articles/10815053.html

你可能感兴趣的:(Linux,linux)