Linux最最最基础命令,拿走不谢!!!

mac2024-10-11  53

Linux最最最基础命令,拿走不谢!!!

linux–>内核 auto.iso CentOS Redhat www.centos.org 命令提示符 [root@localhost 桌面]# 代表登录的用户,root 管理员 主机名 桌面 -->当前所在的目录 ~–>用户的家目录–>/root

–>代表用户的身份 # 管理员(超级用户)

​ $ 普通用户

命令的格式:

命令关键字 [选项] 参数 选项引导方式: 短格式引导: -l -a = -la 长格式引导: --help

命令:

1.ls 查看目录下内容

-a all 所有,查看隐藏文件 -l long 长格式显示,文件信息更详细 -h human 以人类可读的方式显示文件大小,通常与-l合用

ls -l = ll

2.cd 切换目录

cd 返回用户的家目录 cd … 返回上一级目录 . 当前目录 cd - 返回上一个工作的目录

[root@localhost /] cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cd [root@localhost ~] cd - /etc/sysconfig/network-scripts

3.pwd 打印工作路径

4.mkdir 创建目录

-p 嵌套创建目录 -v 详细信息

5.touch 创建文件(更新文件时间戳)

6.cp 复制

格式 cp 源路径 目标路径 选项: -r 复制目录

7.mv 移动(剪切)或重命名

mv 源路径 目标路径 重命名:源路径与目标路径相同

8.rm 删除

-r 删除目录 -f 强制删除

绝对路径:从根目录开始写 相对路径:从当前目录开始

9.帮助命令:

help:只能查看内置命令的帮助信息 man:查看命令的帮助信息 info:

10.find 查找文件

格式:find 查找路径 查找条件 查找条件: -name 指定名字查找文件 Linux系统下一切皆文件 -type 指定类型查找文件 f 代表普通文件 (file) d 目录 directory b 块设备文件 block c 字符设备文件 character l 链接文件 link s 套接字文件 socket p 管道文件 pipeline -size 指定大小查找文件

11.which 查找命令所在的绝对路径

[root@localhost ~]# which cd /usr/bin/cd

-a and 两个条件同时为真 -o or 两个条件有一个为真

12.wc 统计 (word count) 字符数不一定等于字节数

[root@localhost ~]# wc a.txt 6 12 72 a.txt

-l 统计行数 -w 统计单词数 -c 统计字节数

13.cat 查看文件内容,一次将文件内容全部输出

tac 倒着输出文件 nl 带行号显示文件内容,忽略空行。cat -n空行也有行号 more 分页显示文件内容,空格向下翻一页,回车向下翻一行, 退出输入q less 可以向上或向下翻页查看文件内容,page up向上翻页, page down 向下翻页; 搜索匹配: /word 在文件中从上向下匹配word, 输入n跳到下一个匹配的单词 ?word 在文件中从下向上匹配word. 退出输入 q head 显示文件的前几行,默认前10行 -n 指定行数 tail 显示文件的后几行,默认后10行 -n 指定行数

14.通配符

? 通配任意一个字符

通配任意所有字符

清屏:ctrl+l 或clear

15.grep 过滤,在文件中以行为单位进行过滤

格式:grep 关键字 文件名 -i 不区分大小写 -v 取反(反向过滤) 正则表达式: ^ 以…开头 $ 以…结尾

[root@localhost ~]# grep root /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@localhost ~]# grep ^root /etc/passwd root:x:0:0:root:/root:/bin/bash [root@localhost ~]# grep bash$ /etc/passwd root:x:0:0:root:/root:/bin/bash xuyanlong:x:1000:1001:xuyanlong:/home/xuyanlong:/bin/bash 排除空行: [root@localhost ~]# grep -v ^$ /etc/passwd

16.管道符 |

作用:用于两个命令的连接使用,将前一个命令的结果作为 后一个命令的执行目标

grep root /etc/passwd | wc -l

17、du 查看文件或目录占用磁盘空间的大小

-h 以人类可读的方式显示

变量:用于存放值的地方 用一串字母,来表示一个长的值

18.vi/vim编辑器

命令模式-i/I,a/A,o/O->输入模式 i 在当前光标处插入 o 在当前光标新起下一行开始写

输入模式-Esc->命令模式 命令模式下的操作: 剪切(删除):dd 剪切(删除)多行:#dd (#代表删除的行数) 粘贴:p 复制:yy 复制多行:#yy (#代表删除的行数) 跳转: gg 跳到文件的第一行 G 跳到文件的最后一行 home键 跳到该行的第一个字符 end键 最后一个字符 x 删除一个字符 u 撤销 Ctrl+r 恢复

命令模式- : / ? ->末行模式 : w 保存 wq 保存退出 q 退出 q! 强制退出 wq! 强制保存退出

:set nu 显示行号 :set nonu 取消行号 :10 跳到第10行 :1,5 s/old_word/new_word/g (%代表全文) 将1到5行中的old_word替换成new_word

/word 在文件中从上向下匹配word,输入n跳到下一个匹配的单词 ?word 在文件中从下向上匹配word.

19.gzip/gunzip 压缩/解压缩—>.gz

gzip -9 指定压缩比 1-9 数字越大,压缩比越大,压缩完的文件越小,耗时越长

gunzip == gzip -d 解压缩

20.bzip2/bunzip2 压缩/解压缩—>.bz2

21.tar 制作或释放归档文件

选项:

-c 创建归档文件 -v 输出详细信息 -j 调用bzip2压缩格式 -z 调用gzip压缩格式 -f 指定归档文件 -x 释放归档文件 -C 指定释放归档文件存放的路径

/etc 存放配置文件 /var 可变长文件(以日志文件为主) /var/log/message 是系统的日志文件

软件包的封装类型: 1.rpm -->yum 2.deb -->apt 3.源码包(tar包)

22.rpm

rpm -q 包名 查询该软件包是否安装 rpm -qa 列出所有已安装的软件包 rpm -qi 查询已安装的软件包的信息 rpm -ql 查询软件包里包含哪些文件 rpm -qf 查看指定文件属于哪个文件

23.umount 卸载

[root@master01 ~]# umount /dev/sr0

24.mount 挂载

[root@master01 ~]# mount /dev/sr0 /media/ /dev/sr0 挂载源 /media 挂载点 [root@master01 Packages]# [root@master01 Packages]# pwd /media/Packages [root@master01 Packages]# rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm -i 安装 -v 显示详细信息 -h 以#号显示安装进度 -e 卸载 -U 升级

如果想安装httpd-2.4包,需要httpd-tools等包 依赖关系:一个包依赖其他的软件包 方法一:根据提示,一个包一个包的装 方法二:使用yum安装rpm包

25.yum 解决依赖关系安装rpm包

配置本地yum源:

umount /dev/sr0 mount /dev/sr0 /media cd /etc/yum.repos.d/ mkdir bak mv C* bak 将所有以C开头的文件,移动到当前目录的bak目录下 vim local.repo [local] //指定yum源名称 name=local //指定yum源名称 baseurl=file:///media //指定软件包存放的路径,也就是光盘挂载路径 gpgcheck=0 //是否启用检查认证,0不启用,1启用 enabled=1 //是否启用该yum源,0不启用,1启用 yum clean all 清除yum缓存 yum makecache 建立新的yum缓存 yum -y install 软件包名 安装软件包 yum -y remove 软件包名 卸载软件包 yum list 列出所有的软件包 yum list installed 列出已安装的软件包 yum info 软件包名 查看软件包的信息 yum grouplist 列出包组 yum -y groupinstall 安装包组 yum -y groupremove 卸载包组 yum provides route 查看route是否安装

源码包安装(tar ball)

编译环境:yum -y install gcc gcc-c++ make 1.解包 tar xf nginx-1.6.0.tar.gz -C /usr/src/ 2.配置 cd /usr/src/nginx-1.6.0/ [./configure --prefix=/usr/local/nginx 3.编译 [root@localhost nginx-1.6.0]make 4.安装 [root@localhost nginx-1.6.0]# make install 错误1:C compiler is not found 原因:没有编译环境 解决方法:yum -y install gcc gcc-c++ make

错误2:

./configure: error: the HTTP rewrite module requires the PCRE library.You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=<path> option.

错误原因:缺少pcre库 解决方法:

yum -y install pcre-devel

错误原因:缺少pcre库 解决方法:yum -y install pcre-devel

错误3:

./configure: error: the HTTP gzip module requires the zlib library.You can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib=<path> option.

错误原因:缺少zlib库 解决方法:

yum -y install zlib-devel

错误原因:缺少zlib库 解决方法:

yum -y install zlib-devel

虚拟机与物理机互相传文件: 方法一:安装lrzsz软件包(只可以用在xshell或CRT) rz 物理机传入虚拟机 sz 虚拟机传入物理机 方法二:利用Vmware tools直接拖 方法三:利用U盘挂载

mount /dev/sdb4 /mnt cd /mnt

把需要的文件复制到虚拟机中

配置IP

vim /etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置文件 TYPE=Ethernet //类型是以太网 BOOTPROTO=static //以静态方式获取IP地址 NAME=eth0 DEVICE=eth0 ONBOOT=yes //启用这块网卡 IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=114.114.114.114 systemctl restart network //重启网络服务 yum provides 未找到的命令 //查看命令由那个软件包生成的

26.ifconfig 查看网卡信息

ifconfig eth0 192.168.2.10/24 临时设置IP地址 Linux系统一个多用户多任务的操作系统

用户分类 超级用户:root uid=0 程序用户:不能登录系统的用户 默认 uid 1-1000 普通用户:默认uid >1000

27、useradd 添加用户(adduser)

选项:

-u 指定uid -g 指定用户组 -s 指定用户登录的shell(/bin/bash ,/sbin/nologin) -M 不为用户创建家目录 -d 指定用户家目录位置,默认/home/用户名 /etc/passwd --> 存放用户信息的文件 root:x:0:0:root:/root:/bin/bash

root 第一段 用户名 X 第二段 密码占位符 0 第三段 UID 0 第四段 GID root 第五段 描述,备注(可以为空) /root 第六段 用户家目录 /bin/bash 第七段 用户登录的shell

/bin/bash 代表该用户可以登录系统, 其他的(/sbin/nologin)代表该用户不可以登录系统

shell解释器:是用户和内核沟通的桥梁

计算机两个 硬件系统:cpu(控制器,运算器),内存,硬盘 ,网卡 软件系统:操作系统 应用程序 操作系统: 内核 shell

用户–>shell–>内核–>硬件 结果–>内核–>shell -->用户

28.passwd 为用户修改密码(不接用户名,修改当前登录用户的密码)

passwd 用户名 echo "123123"|passwd --stdin test2 不交互为用户创建密码 选项: -l 锁定用户 -S 查看用户是否锁定 -u 解锁用户 passwd -l aaa usermod -U aaa

29.userdel 删除用户

格式:userdel 用户名 -r 删除用户的同时删除用户的家目录

30.usermod 修改用户属性

格式:usermod 选项 用户名 -L 锁定用户 -U 解锁用户 -c 为用户添加备注 -l 修改用户名 -u 修改uid -s 修改用户登录的shell /etc/shadow (影子) root:$6$Q2Lt/.FYAXa3rOea$CDmzcDjl.IYKgB0lCU.dm9qpGEV i1SezTP829/YqykudLl6jUKrHTQS32ojv9kjPDBZ774VlYD9B8Q.YZrFxc0 ::0:99999:7:::

root 第一段 用户名 第二段 加密后的密码 第三段 上一次密码修改的时间距1970年1月1日过了多少天 第四段 密码最短有效天数,经过多少天以后可以再次修改密码 第五段 密码最长有效天数,此次修改密码后多少天必须修改密码 第六段 密码过期前多少天警告 第七段 密码过期之后多少天内禁用该用户 第八段 账号失效时间 第九段 保留

31.groupadd 添加用户组

32.groupdel 删除用户组

私有组(主要组) 公共组(附加组) 一个用户只有一个主要组,可以属于多个附加组。 一个用户组中可以包含多个用户。

root用户 -->主要组 root a组 root b组 root c组 root a b c 组为用户root的附加组

/etc/group 存放用户组的信息 root:x:0:

root 第一段 用户组 x 第二段 用户组密码 0 第三段 gid 第四段 附加用户

33.gpasswd 为用户组添加密码

-a 将指定用户添加到组中

34.查看用户登录信息的命令

w 用户登录的信息 who 用户登录的信息 whoami 查看当前登录的用户 user 查看当前登录的用户 id 查看指定用户的uid,gid以及用户组信息 groups 查看当前用户的用户组

文件权限:r 读 w 写 x 执行 如何查看文件的权限: ll = ls -l rw-r–r-- 文件权限分三组: 第一组 用户 u rw- 第二组 用户组的权限 g r– 第三组 其他用户的权限 o r–

35.chmod 修改用户权限

格式:

chmod u/g/o/a +/-/= rwx 文件名

-R 递归

八进制: r–4 w–2 x–1 - 0

rw-r–r-- -->644 rwxrwxr-x -->775

36.chown 修改文件归属

chown 用户名 文件 chown :用户组 文件 chown 用户:用户组 文件 选项: -R 递归

37.umask 查看或设置权限掩码

touch创建一个新文件默认的权限是 644=777-111-022 目录 755=777-022

文件 r cat/tac/nl/more/less/head/tail w vim x(命令或者脚本) 目录 r ls w touch rm mkdir mv x cd

磁盘管理: block 块设备文件 磁盘接口与磁盘命名: IDE --> hda hdb hdc SATA/SAS/SCIS -->sda sdb sdc

硬盘类型: HDD 机械硬盘 SSD 固态硬盘

38.fdisk为磁盘划分分区

fdisk 磁盘 选项: -l 列出磁盘以及磁盘分区的详细信息

39.mkfs 创建文件系统 (make filesystem)

.指定文件系统 -t 指定文件系统

ext4 CentOS6 默认的文件系统 xfs CentOS7 默认的文件系统

40.mount 挂载 格式:mount 挂载源 挂载点

41.umount 卸载 指定挂载源或挂载点都可以

交换分区:类似于虚拟内存 大小:一般设为内存的2倍

42.mkswap 创建交换分区

43.swapon 激活交换分区

-s 查看当前使用的交换分区

44.swapoff 关闭交换分区

( ) 或 ‘ ‘ 先 执 行 ()或`` 先执行 ()()命令 或者是 提取命令的结果

系统启动的引导过程:

1.bios开机加电自检

2.MBR引导 MBR 主引导记录,位于硬盘的第一个扇区,512字节。

​ 4个分区记录,每个16字节,=64字节 ​ (一块硬盘可以划分四个主分区或扩展分区) ​ 446字节的引导程序,2字节校验字节。

3.grub菜单

4.加载Linux内核

5.初始化systemd进程 (CentOS6 中初始化init 进程)

每个进程都有一个非负整数的进程ID(PID,进程号) 负责产生进程的进程,称为该进程的父进程 centos7中systemd是所有进程的父进程,其pid为1

systemd 可以管理系统中的服务、设备等。 centos6 服务的启动使用的是 service 服务名称 start/stop/restart/status/reload等 设置服务开机自启动使用的命令是: chkconfig 系统运行级别 服务名称 on/off

CentOS7中服务的启动管理使用的是: systemctl start/stop/restart/status/reload 服务名称 设置服务开机自启动的命令是: systemctl enable/disable/is-enabled 服务名称

systemctl start httpd #启动httpd服务 systemctl status httpd #查看httpd服务运行状态 systemctl stop httpd #关闭 systemctl status httpd

systemctl enable httpd #设置httpd服务开机自启动 systemctl is-enabled httpd #查看httpd服务是否开机自启动 systemctl disable httpd #禁止httpd服务开机自启动 systemctl is-enabled httpd

系统运行级别:

0 关机 1 单用户模式 2 无网络的字符界面多用户模式 3 完整的字符界面多用户模式 4 未启用 5 完整的图形界面多用户模式 6 重启

45.init 切换系统运行级别

init 0 关机 poweroff halt shutdown -h +10 10分钟后关机 init 6 重启 reboot shutdown -r init 3 切换字符界面 init 5 切换图形界面

46.runlevel 查看系统运行级别

/etc/inittab 系统启动的默认级别配置文件

LVM逻辑卷 :动态调整分区大小

逻辑卷创建过程: 先创建物理卷 pvcreate /dev/sd[bcd] 再创建卷组 vgcreate vg0 /dev/sd[bcd] 最后创建逻辑卷 lvcreate -L 30G -n test vg0 mkfs.xfs /dev/vg0/test mount /dev/vg0/test /data 扩容 lvextend -L +10G /dev/vg0/test

47.df 查看磁盘使用情况

选项: -T 文件系统类型 -h human 以人类可读的方式显示大小

48.刷新文件系统大小

resize2fs /dev/vg0/test ext4文件系统 xfs_growfs xfs 文件系统

程序:可执行代码,静态 进程:运行中程序,动态, 每个进程都有一个非负整数的进程ID(PID)

49.ps 查看进程状态

-aux -ef ps -o user,stat,pid,ppid 指定输出内容

50.top 动态查看进程状态

僵尸进程 :僵尸进程是当子进程比父进程先结束, 而父进程又没有回收子进程,释放子进程占用的资源, 此时子进程将成为一个僵尸进程。 结束僵尸进程:杀死其父进程或重启系统 ps -ef |grep [Zz] kill -9 杀死僵尸进程的父进程

1 // zombie.c 2 /* create a zombie proess*/ 3 #include <sys/types.h> 4 //#include <signal.h> 5 #include <unistd.h> 6 #include <stdlib.h> 7 8 int main() 9 { 10 if(!fork()) { //create child proess 11 if(fork()) { //child 12 while(1) { 13 sleep(5); 14 // break; 15 } 16 } 17 } 18 return 0; 19}

gcc 文件名 -o 生成文件名 ./生成文件名

gcc 文件名 -o 生成文件名 ./生成文件名

51.kill 根据pid杀进程

kill -9 pid=kill -s SIGKILL pid 强制杀死进程

52.pgrep 根据条件查找pid

-u 指定用户

53.pkill 根据特定条件杀进程

-u 指定用户或UID杀进程

54.killall 根据进程名杀进程

55.tree 查看目录树

-L 目录级别

56.pstree 查看进程树

任务调度: & 程序后台运行 jobs 查看后台运行任务 fg 将后台运行的任务调度到前台 Ctrl+z 将前台运行的任务暂停放到后台 bg 让后台暂停的任务继续运行 Ctrl+c 终止当前程序

57.date 查看系统日期

格式化输出: %Y 年 %m 月 %d 日 %H 时 %M 分 %w 周

计划任务(定时任务) 一次性计划任务 —>atd at 设置一次性计划任务 atq 查看未执行的一次性计划任务 atrm 删除一个一次性计划任务

周期性计划任务 —>crond crontab 分 时 日 月 周 执行的命令 特殊时间:

每,任意时间 / 指定时间间隔

指定连续时间范围 , 指定不连续的时间

最小单位是 分钟 常用选项: -e 编辑周期性计划任务 -l 查看周期性计划任务

忘记root用户密码解决方法: 方法一:通过grub菜单进入单用户模式 输入e 进入编辑,在Linux16该行的行尾添加rd.break,然后Ctrl+x 启动系统; 进入命令行后,mount -o remount,rw /sysroot 以读写模式重新挂 载目录,chroot /sysroot 将根目录切换到/sysroot

passwd root 修改密码 如果系统开启了selinux,创建文件touch /.autorelabel

开机自动挂载 /dev/sr0 /media iso9660 defaults 0 0 挂载源 挂载点 文件系统类型 挂载参数 是否备份 是否检测

交换分区不需要挂载

ping 测试网络连通性

-c 指定发送数据包个数

route -n 查看路由表 ip r 查看路由表 hostname 新名字 查看或修改主机名 /etc/hostname 主机名配置文件 bash 生效

inode 元数据,里面保存了文件的权限,归属,创建时间等

block 块,存放的文件的内容。默认一个块4K

文件名记录在目录的block

硬链接和软链接

硬链接:相当于文件的另一个入口

软链接:类似于window下的快捷方式

硬链接于软链接的区别:

1,硬链接inode号相同,软链接不同

2,硬链接删除源文件对硬链接没有影响,软链接不可用

3,硬链接不能跨文件系统(分区),软链接可以

4,目录不能创建硬链接但是目录自带硬链接分别是"." “…”,可以创建软链接

ln 创建硬链接 ln -s 创建软链接(符号链接)

每个文件就都有一个inode,至少占用一个block

最新回复(0)