linux常用命令

linux命令汇总

  • 1.基础知识
  • 2.常用命令
  • 3.强大的命令
  • 4.终极命令行工具
  • 5.笔记

1.基础知识

Host:宿主机 vmware:虚拟机 Linux:客户机
打开中端,显示如下xxx@yyy:~$,其中xxx为用户名,yyy是主机名称,~表示当前用户家目录,$表示命令提示符,表示是普通用户,root之后就会变成#号
2.shell命令格式: cmd [OPTION]… [FILE]…
cmd :命令 OPTION:选项字 FILE:参数
不同选项字还可以随意组合,比如:ls -al(ls -la),等价于ls -a -l或者ls -l -a,顺序无所谓
3.组合键:crtl+c强制结束 crtl+D结束,root用户切换到普通用户可使用 crtl+z挂起(jobs查看挂起的id,fg+id让其重新运行)
4.常用命令
(1)cd …返回上级目录 cd .进入当前目录 cd ~进入当前用户家目录
(2)ls 列出文件夹 ls /列出根目录下的文件 ls -a查看所有文件 ls -l查看文件详细信息 ls -al查看所有文件详细信息。所有以.开头的都是隐藏文件
(3)帮助命令 cmd --help ,cmd -h , man cmd,info cmd,help cmd
(4)管道符 | ,ls --help |more分页显示,一次显示一屏,空格显示下一页,按q退出前面输出作为后面的输入
(5)清除屏幕:clear ,reset
(6)看一下/目录下的重要文件
bin ----存放命令的,老祖宗留下的
sbin----存放命令的,老祖宗留下的,一般需要root才能使用
lib------存放bin以及sbin所需的库文件
lib32/64-------二进制函数库
etc------配置文件目录
usr-----系统资源目录,usr/bin或者usr/sbin系统命令,ubuntu和centos有区。usr/local/bin或者usr/local/sbin存放自己的命令,如果有同名的则从usr/local执行,按范围从小到大搜索
dev----设备目录
media/mnt------自动(U,SD)/手动挂载目录
tmp-------临时目录,重启文件就没了
opt------第三方软件安装存放目录
proc-----进程及内核存放信息,不占磁盘空间,不占磁盘的都是伪文件系统
sys------记录cpu信息
lost+found------异常关机或者崩溃信息
run----存放系统开机后所产生的各项信息
/srv:service的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录。常见的服务例如WWW, FTP等等
/var:放置经常变动数据的目录
(7)pwd查看当前目录,whoami 查看当前用户名,hostname查看当前主机名,这3个都不需要带参数
(8)ifconfig查看网络配置,-a查看所有网口,up,down激活/关闭网口
ip addr show也可以查看ip(旧版本可能没有这个命令)
ifconfig eth0 192.168.1.1设置IP
dhcp udhcpc动态获取IP(嵌入式里面)
ifconfig eth0 hw ether 00:11:22:33:44:55修改MAC地址
ifconfig eth0 netmask 255.255.255.0设置子网掩码
ifconfig eth0 broadcast 192.168.28.225设置广播地址
route查看路由信息/网关地址
ping www.baidu.com检查网络通不通,以百度为例,表示DNS没设置好
curl www.baidu.com连接到百度
(9)which cmd 查看命令在哪个目录下,whereis cmd得到帮助手册, whatis cmd 简单描述,都是在环境变量查找
(10)echo xx输出字符xx,echo $PATH输出环境变量,区分大小写,或者echo ${PATH}也行.echo xx(xx可以带单引号或者双引号)
$(cmd)调用此命令,等于cmd (单引号,键盘1前面那个)
(11)重定向:echo hello >a.txt 把hello以覆盖的方式写入a.txt ,如果是>>则是追加
(12)cat 、tac、head、tail a.txt分别是显示a.txt内容
(13)sudo passwd root设置root密码, sudo su root进入root用户,sudo su 不带参数默认就是进入root用户,带参数就是进入其他用户,su - root环境变量会变,没有-就不会变过来,exit退出用户
(14)重启 sudo reboot 关电源 sudo poweroff 关机关电源 sudo shutdown -p now或者sudo halt
(15)uname -a打印内核全部信息 cat /proc/version
cat lsb-release -a查看操作系统信息(cat /etc/issue也可以) lscpu查看cpu信息, hostnamectl
(16)kill %n杀死进程(kill -9 进程pid,强制杀死进程 pkill -9 进程名字也可以) ps -Af查看进程 top查看 进程运行状态
(17)链接:相当于快捷方式,分为硬链接(实时同步,创建一份一模一样的,占2倍存储空间,删除一个对另外一个没影响)和符号链接(单纯的快捷方式,一定要用绝对路径)
默认是硬链接,做备份用

2.常用命令

(1)创建文件:touch filename 创建文件夹:mkdir filename mkdir -p a/b/c递归创建目录a/b/c
(2)删除文件:rm filename 删除文件夹:rm -rf filename
删除空文件夹:rmdir filename
(3)cp复制文件或者目录,如cp a.txt b(把a.txt复制到b目录 cp a.txt b/1.txt复制并且重命名 递归复制文件夹:cp test/ /home -rdf(递归强制复制,如果是链接则复制该链接,而不是源文件)
mv移动或改名,同一目录下是重命名,否则就是移动
cp命令的弱点:cp命令会改变文件的一些属性以及出现一些ln不能创建等错误
(4)tar 打包解包, tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/training/把文件解压到 training目录

vxjf解压 f只能是最后一个参数
vcjf压缩
-c(create):表示创建用来生成文件包 。
-x:表示提取,从文件包中提取文件。
-t:可以查看压缩的文件。
-z:使用gzip方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
-j:使用bzip2方式进行处理,它与”c“结合就表示压缩,与”x“结合就表示解压缩。
-v(verbose):详细报告tar处理的信息。
-f(file):表示文件,后面接着一个文件名。 -C <指定目录> 解压到指定目录
gzip bizp2(单个文件使用这两个,小文件使用前者,大文件使用后者,-l列出压缩文件的内容,-k保留源文件,-d解压,不带参数就是压缩,会删除源文件。如果文件一样但是名字不同,压缩后的大小也不一样)
gzip/gunzip压缩解压

(5)权限管理:文件类型 权限,第一个3位代表当前用户权限,第二个3位标识同组用户的权限,第三个3位标识其他组的权限

改变权限:chmod 777 a.txt每一组的读写执行权限对应位都变成1
读:文件:查看文件内容,文件夹:查看文件夹包含的资源
写:文件:修改文件内容,文件夹:创建文件和删除文件
执行:文件:可执行文件 文件夹:是否可以进入文件夹

或者ugoa(当前用户,所在的组,其他,所有的) chmod ugo+wrx 文件名

第2字段表示链接的节点数/子目录数
第3.4字段表示文件拥有者和文件所在的组
第5.6.7表示文件大小 最后修改时间 文件名

以下这两个命令使用场景,复制文件后改变组和用户
chgrp hy install.log //把文件用户组改为hy,前提是hy用户组必须在/etc/group文件内存在才可以。可以加上 -R
chown [-R] 账号名 文件或目录 //改变文件的所有者

(6) file filename检测文件类型,只能查看具有可读属性的文件
(7)find .按树状列出所有文件 find . |grep a查找含有a的文件,grep是过滤的意思 find -name a.c查找文件,没有指定目录则认为是当前目录。(find 目录名 -name “a.c"表示在该目录以名字查找a.c文件,双引号去掉也可以,一般不要去掉)
单独grep则是按照内容(字符串)查,如 grep -nR “string” 目录名(通配符表示所有文件,默认是当前目录)
Find .|grep txt |cp xargs kk //找到当前文件夹下的.txt文件并复制到kk文件夹 ,引号是键盘1前面的符号,表名是命令,不是普通字符,xargs把前面多行变单行,空格分开
(8)dirname查看文件所在目录 basename输出文件的基本名称
(9)sudo fdisk -l /dev/sda查看磁盘分区 df -T -h查看文件系统相关信息
(10)鼠标点击右下角光驱,设置,选择ISO文件,确定,再次点击右下角连接就行。cd /dev ,ls ,看到cdrom,要想看光盘里面的东西,要把设备挂在在一个目录下,cd /mnt,mkdir cdrom
mount /dev/cdrom /mnt/cdrom,cd cdrom,ls -al就可以看到里面的文件了,拷贝走,umount /dev/cdrom解除挂载
(11)sync 数据同步写入磁盘,不带参数
(12)du filename查看 文件所占磁盘大小
(13)插入SD卡时,查看 ls sd
,插入之前查看ls sd
,从而可以确定哪个是SD卡的设备文件,sdb表示SD卡,sd1表示SD卡第一个分区,一般只有1个分区
(14)磁盘格式化,必须先fdisk创建分区,然后 mkfs -t vfat /dev/sd1就可以删除了
(15)增加用户:adduser 用户组addgroup
或者安装sudo apt-get install gonme-system-tools通过图形界面方式安装
(16)readelf -h filename查看elf格式文件信息,此命令是gcc的,ls /usr/bin |grep linux-gnu查看就知道
(17)free 查看内存使用情况,df查看磁盘使用情况,du显示目录或文件大小
(18)!!,两个感叹号表示重复执行上次命令
(19)cat /proc/partitions 查看磁盘,ram等
(20)采用了 systemd,所以网络服务被 systemd 接管,所以固定 IP 设置方法也有所改变。具体方法如下在”/etc/systemd/network"目录下,新建一个名为 10-static-eth0.network 文件。并在其中填入如下内容:

[Match]
Name=eth0
[Network]
Address=192.168.1.160
Gateway=192.168.1.1
DNS 8.8.8.8

3.强大的命令

p开头的,与进程有关
pgrep -u 用户名 //列出PID
pstree //树形显示
nl 和cat类似,带行号
lsof 列出打开了的文件
xmlwf 检查xml所有tag是否正常
col 可以把man文件转换成文本文件
ldd 检查可执行文件用了哪些动态库
dd 备份
netstat -anp网络相关

ncdu可以代替du,NCurses 磁盘利用率(ncdu)工具提供了与 du 类似的结果,但是在一个基于 curses 的交互式界面中,它重点关注那些占用磁盘空间比较多的目录。
ncdu 会花一些时间分析磁盘,然后根据你最常用的目录或文件显示结果
fd命令可以部分代替find命令,需要自己安装,安装名字为fd-find
duf命令是df和du整合版
htop代替top
glances监控工具
exa命令比ls牛逼

第四部分

  • 1.基础知识
  • 2.常用命令
  • 3.强大的命令
  • 4.终极命令行工具
  • 5.笔记

4.终极命令行工具

终极命令行工具,可以通过apt或者pip安装,都可以代替man命令
tldr
cheat
cheat

sudo lspci 列出 PCI 总线及其连接的设备

lspci -v 更加详细列出

lspci -k 显示内核加载了哪些驱动程序模块

lspci -Q 联网更新显示信息

5.笔记

echo 3 > /proc/sys/vm/drop_caches  #清缓存

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