Linux常用命令

目录结构具体介绍

  • /bin: 是Binary的缩写,这个目录存放着最经常使用的文件
  • /sbin:s就是super user的意思,这里存放着系统管理员使用的系统管理程序
  • /home:存放着普通用户的主目录,在linux中的每一个用户都有一个自己的目录,一般该目录是以用户的账号命名的
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录
  • /boot:存放的是启动linux的一些核心文件,包括一些链接文件以及镜像文件
  • /proc:虚拟目录,是系统内存的映射,可以访问该目录获得系统信息
  • /srv:server缩写,存放服务启动后需要提取的数据
  • /sys:安装了2.6内核中新出现的一个文件系统
  • /tmp:存放临时文件
  • /dev:类似于windows的设备管理器,把硬件用文件存储
  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,识别后,linux会把识别的设备挂载在这个目录下
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看内容了。d:/home
  • /opt:这是给主机额外安装软件的目录
  • /usr/local: 这是另一个给主机额外安装软件的目录,一般通过编译源码方式安装的程序
  • /var:该目录存放着不断扩充的东西,习惯将经常被修改的目录放在这个目录下,包括日志文件。
  • /selinux[security-enhanced linux]360:sElinux是一种安全子系统,他能控制程序只访问特定文件

vi与vim的命令模式

  • 三种模式:正常模式、插入/编辑模式、命令模式
  1. 正常模式(可使用快捷键):以vim打开一个档案就直接进入正常模式,此模式中,可使用上下左右键来移动光标,可使用删除字符和删除整行来处理档案内容,也可以使用复制粘贴
  2. 插入/编辑模式:在命令模式下按下 i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按 i 即可。
  3. 命令模式:按下:(英文冒号)就进入了命令模式。 命令模式可以输入单个或多个字符的命令,可用的命令非常多。完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的。比如:
  • :wq//写并退出
  • :q//直接退出
  • :q!//强制退出不保存

开机、重启和用户登陆注销

关机和重启命令

1.shutdown

shutdown -h now:表示立即关机
shutdown -h 1:表示一分钟后关机
shutdown -r now:立即重启
2.halt

直接使用,效果等价于关机
3.reboot

重启系统
4.sync

把内存数据同步到磁盘

用户登录和注销

登录时尽量少用root登录,避免操作失误,因为root有最大的权限。可以用普通用户登录,再su -用户名 切换
在提示符后输入logout(在运行级别3以下才有效)即可注销登录。(root用户输入exit,普通用户用logout)

用户管理

添加用户

添加用户语法:useradd 【可选项】 用户名
创建用户后,会自动创建和用户同名的家目录,也可以通过:
useradd -d 指定目录 新用户名 例:useradd -d /home/aaa/usera

指定用户修改密码

修改用户密码语法:passwd 用户名

删除用户

删除用户但保留家目录:userdel 用户名
删除用户及用户主目录:userdel -r 用户名

查询用户信息

查询用户id语法:id 用户名

切换用户

切换用户语法:su 切换的用户名
注意事项:

    1.从高权限的用户切换到低权限的用户不需要输入密码,反之需要

    2.当需要返回原来用户时,使用exit指令

用户组

用户组介绍:类似于角色,系统可以对共性用户进行统一管理

增加组:语法:groupadd 组名
删除组:语法:groupdel 组名
增加用户时直接加上组 语法:useradd -g 用户组 用户名
修改用户的组 语法:usermod -g 用户组 用户名

配置文件

1.用户配置文件 /etc/passwd

记录用户的各种信息
含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
2.口令配置文件 /etc/shadow

每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
3.组配置文件 /etc/group

记录linux包含的组信息
每行含义:组名:口令:组标识号:组内用户列表

常用的命令

运行级别

[0]关机

[1]单用户【找回丢失密码】

[2]多用户状态没有网络服务

[3]多用户状态有网络服务

[4]系统未使用保留给用户

[5]图形界面

[6]系统重启

切换运行级别指令

语法:init 数字(数字即为运行级别)

帮助指令

  • 当我们对某个指令不熟悉时候,可以使用linux的帮助指令来了解指令使用方法:man/help

man

语法: man [命令或配置文件]

help

语法:help [命令]

文件目录类

pwd指令(Print working directory 显示当前工作路径)

语法:pwd

ls指令(List files)

列出目录下的文件

基本语法:ls [选项]

  • ls -a:显示当前目录所有的文件和目录,包括隐藏的

  • ls -l:以列表的方式显示信息。

cd指令(Change directory 切换目录)

基本语法:cd [选项]

  • cd [绝对路径] 例:cd /home/root

  • cd [相对路径] 例:cd ../../root (要返回root目录的上一级,再/root,其中../一次表示返回上一级)

  • cd ~或者cd :表示返回到家目录

  • cd .. 表示回到当前目录的上一级目录

mkdir指令(Make directory 建立目录)

语法:mkdir [选项] 要创建的目录

  • mkdir /home/dog 在home下创建单级目录dog

  • mkdir -p /home/animal/tiger 在home目录下创建多级目录analimal及tiger

rmdir(Remove directory 仅删除空目录)(非空目录使用 rm -rf 非空目录)

语法:rmdir [选项] 即删除的空目录

touch指令(创建空文件)

语法:touch 空文件名称(可一次性创建多个空文件)

cp指令(copy 拷贝指令)

基本语法:cp [可选项] source dest

  • 拷贝文件到指定目录下

例:cp aa.text bbb/(拷贝当前目录下aa.text文件到当前目录下bbb中)

  • 拷贝整个目录到指定目录下

cp -r source dest

例:cp -r test/ zwj/(拷贝当前目录下test/的文件到zwj/)

注:cp前可加“\”代表强制拷贝

rm指令(remove 删除一个文件或目录)

  • 基本语法:rm [选项] 要删除的目录或文件

  • 常用选项:

-r:递归删除整个文件夹

-f:强制删除不提示

mv指令(move file 移动文件与目录或重命名)

  • 基本语法:

重命名:mv oldnamefile newnamefile

移动文件:mv 文件名 目录

cat指令(concatenate 查看文件,以只读的形式打开)

  • 基本语法:cat [选项] 要查看的文件

  • 常用选项:

-n:显示行号

  • 使用细节:

cat只能浏览文件,而不能修改文件,为了浏览方便,一般带上 管道命令 |more

cat 文件名 | more (分页浏览)

more指令(more指令是一个基于VI编辑器的文本过滤器,以全屏的方式按页显示文本文件内容。more指令内置了若干快捷键)

基本语法:more 要查看的文件

less指令(分屏查看文件内容)

less与more类似,但是比more更强大,支持各种显示终端。less指令 在显示文件内容时,并不是一次将整个文件加载后才显示,而是根据显示需要加载内容,对于显示大型文件具有更高的效率

  • 基本语法:less 要查看的文件

>指令与>>指令

指令:输出重定向,会将原来的文件内容覆盖

指令:追加,不会覆盖原来文件内容,而是追加到文件的尾部

  • 基本语法:

ls -l >文件(将列表的内容写文件a.txt中,覆盖写)

ls -l>>文件(列表内容追加到文件末尾)

cat 文件1>文件2(将文件1的内容覆盖到文件2)

echo “内容” >> 文件(将会内容追加到文件里)

echo指令(输出内容到控制台)

基本语法:echo [选项] 输出内容

head指令(显示文件开头部分内容,默认显示前十行)

  • 基本语法:

head [可选项] 文件(查看文件前十行)

  • 常用可选项

-n 数字:表示查看前n行,如head -n 5 文件(查看文件前五行)

tail指令(默认查看文件后十行)

  • 基本语法

tail [可选项] 文件

  • 常用可选项

-n 数字:查看后数字行

-f:实时追踪该文件的所有更新,即显示更新内容

ln指令(软连接)

软连接也叫符号链接,类似于windows里面的快捷方式,主要为了存储链接其他文件的路径

  • 基本语法:

ln -s [源文件或目录] [软连接名称](给源文件创建一个软连接)

注意:使用pwd查看目录时候,仍然看到的是软连接所在的目录

history指令

查看已经执行过的历史指令,也可以执行历史指令

  • 基本语法:history [可选项]

  • 可选项

history 数字(查看过往执行的数字条指令)

!数字:执行第数字条指令

  • 时间日期类指令

date指令(显示当前日期时间)

  • 基本语法:

date:(显示当前时间)

date + %Y:(显示当前年份)

date + %m:(显示当前月份)

date + %d:(显示当前是哪一天)

date “+%Y-%m-%d %H:%M:%S”(显示年月日时分秒)

date指令(设置日期)

  • 基本语法: date -s 字符串时间

cal指令(查看日历指令)

  • 基本语法:

cal [可选项] (默认显示本月日历)

cal 年份 (显示当年日历)

  • 搜索查找类

find指令

find指令将从指定目录向下递归的遍历各个子目录,将满足条件的文件或者目录显示在终端。

  • 基本语法:

find [搜索范围] [可选项] (搜索范围,即路径信息)

locate指令

locate能够快速定位文件路径。local指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,但需要定期更新locate时刻

  • 基本语法:

locate 目标文件

注意:使用locate指令前,必须用updatedb指令创建locate数据库

grep指令和管道符号 |

  • 压缩与解压类

gzip与gunzip指令

gzip用于压缩文件

gunzip用于解压文件

  • 基本语法:

gzip 文件 (压缩文件,只能将文件压缩为*.gz文件)

gunzip 文件.gz(解压缩文件命令)

  • 注意

使用gzip对文件进行压缩时候,不会保留原文件

zip/unzip指令

zip用于压缩,unzip用于解压

  • 基本语法:

zip [选项] XXX.zip 要压缩的内容(压缩文件和目录的命令)

unzip [选项] XXX.zip(解压缩文件)

  • 常用可选项

zip常用选项

-r:递归压缩,即压缩目录

unzip常用选项

-d 目录:指定解压后文件存储目录

例:unzip -d /opt/tmp/ mypackage.zip

tar指令

tar指令是打包指令,最后打包的文件是.tar.gz文件

  • 基本语法:

tar [选项] XXX.tar.gz 打包内容(打包目录,压缩后的文件格式为.tar.gz)

文件/目录 所有者

一般为文件的创建者。

  • 查看文件的所有者

语法:ls -ahl

  • 修改文件所有者

语法:chown 用户名 文件名

组的创建

语法:groupadd

文件/目录 所在组

当某个用户创建了一个文件后,默认这个文件所在组就是这个用户所在组

  • 查看文件/目录所在组

语法:ls -ahl

  • 修改文件所在组

语法:chgrp 组名 文件名(chgrp:change group)

其他组

除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组

改变用户所在组方法:

在添加用户时,可以指定将用户添加到哪个组中,同样的root的管理权限可以改变某个用户所在组

语法:

usermod -g 组名 用户名

usermod -d 目录名 用户名 改变用户登陆的初始目录

权限的基本介绍

ls -l显示的内容如下

0-9位说明:

  • 第0位确定文件类型(d,-,l,c,b)

  • 第1-3位确定所有者(该文件所有者)拥有文件的权限

  • 第4-6位确定所属组(同用户组的)拥有文件的权限

  • 第7-9位确定其他用户拥有文件的权限

rwx权限详解

rwx作用到文件

  • [r]代表可读read:可以读取,查看(read)

  • [w]代表可写:可以修改但是不代表可以删除文件,删除一个文件的前提是对该文件所在的目录有写权限,才能删除该文件(write)

  • [x]代表可执行:可以执行(execute)

rwx作用到目录

  • [r]代表可读read:可以读取,ls查看目录内容(read)

  • [w]代表可写:可以修改,目录内创建+删除+重命名目录(write)

  • [x]代表可执行:可以进入该目录(execute)

chmod修改权限

通过chmod指令,可以修改目录

  • 通过+、-、=变更权限

u:所有者、g:所在组、o:其他人 、a:所有人

  • chmod u=rwx,g=rx,o=x 文件目录名

  • chmod o+w 文件目录名

  • chmod a-x 文件目录名

②第二种方式:通过数字变更权限

规则:r=4、w=2、x=1

chmod u=rwx,g=rx,o=x 文件目录名 =>chmod 751 文件目录名

chown:修改文件所有者

语法:chown newowern file 改变文件的所有者

chown newowner:newgroup file 改变用户的所有者和所有组

-R 如果是目录,则使用其下所有子文件或目录递归生效

修改文件所在组-chgrp

语法:chgrp newgroup file

磁盘使用情况查询

  • 查询系统整体磁盘使用情况

1)基本语法:

df -h

  • 查询指定目录的磁盘占用情况

1)基本语法:

du -h /目录 (查询指定目录的磁盘占用情况,默认为当前目录)

-s:指定目录占用大小汇总

-h:带计量单位

-a:含文件

--max-depth=1 子目录深度

-c:列出明细的同时,增加汇总值

网络配置

*看windows环境中VMnet8网络配置(ipcongfig)
*看Linux环境(ifcongfig)

固定ip

  • 修改配置文件来指定ip,并可以连接到外网,编辑vi /etc/sysconfig/network-scripts/ifcfg-eth0

修改后要重启服务

服务器重启:serive network restart

进程管理

进程基本介绍

在Linux中,每个执行的程序(代码)都称为一个进程。每个进程都分配一个ID号
每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。
每个进程都可能以两种方式存在。前台和后台。
前台进程:用户目前的屏幕上可以进行操作
后台进程:实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。

显示系统执行的进程

基本语法:
ps (一般来讲,使用的参数是ps aux)
ps:查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数。
PID:进程识别号;TTY:终端机号;TIME:此进程所消耗的CPU时间;CMD:正在执行的命令或进程名
ps -a:显示当前终端的所有进程信息。
ps -u:以用户的格式显示进程信息。
ps -x:显示后台进程运行的参数。
ps -axu | grep xxx:过滤得到xxx的信息。
ps -ef:以全格式显示当前所有的进程,查看进程的父进程。
-e:显示所有进程。
-f:全格式。

终止进程kill和killall

若是某个进程执行到一半需要停止,或是已经消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill来完成此项任务

1.基本语法

kill [选项] 进程号 (功能描述,通过进程号杀死)
kill alll 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢很有用)
2.常用选项

-9:表示强迫进程立即停止

查看进程树

  • 基本语法:

pstree [选项],可以更加直观的来看进程信息

  • 常用选项:

-p:显示进程的PID
-u:显示进程的所属用户

服务管理(service)

服务本身就是进程,但是运行在后台,通常会监听某个端口,等待其他程序的请求,比如(mysql、sshd、防火墙)因此我们又称为守护进程

service 管理指令

service 服务名 [start|stop|restart|reload|status](启动服务|停止服务|重启服务|重加载服务|服务器状态)
注意:上述方法关闭或者启用防火墙后,立即生效;若要设置某个服务自启动或者关闭永久生效,要使用chkconfig指令

查看服务名:

方法1:使用 setup ->系统服务就可以看到

方式2: /etc/init.d/服务名称

服务器的运行级别

查看或修改服务器运行级别:vi /etc/inittab

开机流程说明:

开机->BIOS->/boot->init进程1->运行级别->运行对应服务

chkconfig指令

通过chkconfig命令可以给每个服务的各个运行级别设置自启动或关闭
基本语法
查看服务:chkconfig --list|grep xxx(xxx代表服务名)

动态监控进程

top与ps指令很相似。他们都用来显示正在执行的进程。top与ps最大不同之处,在于top在执行一段时间可以更新正在运行的进程

基本语法
top [选项]

查看系统网络情况netstat

基本语法
netstat [选项]
netstat -anp
选项说明
-an 按一定顺序排列输出
-p 显示哪个进程在调用

实操篇 RPM和YUM

rpm包管理

  • rpm是一种用于互联网下载包的打包及安装工具,包含在某些Linux分发版中,生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似windows的setup.exe

  • rpm包的简单查询指令
    查询已安装的rpm列表:rpm -qa|grep xx

  • rpm包名基本格式:
    一个rpm包名:firefox-45.0.1-1.el6.centos.x86_64.rpm

  • rpm包的其他查询指令

rpm -qa:	查询所安装的所有rpm软件包
rpm -qa|more	分页显示
rpm -qa | grep X	显示特定X的软件包
rpm -q 软件包名	查询软件包是否安装
rpm -qi 软件包名	查询软件包信息
rpm -ql 软件包名	查询软件包中的文件
rpm -qf 文件全路径名	查询文件所属的软件包
  • 卸载rpm包:
    基本语法:rpm -e 【--nodeps】RPM包的名称 【括号中为强制删除,解决可能因为存在依赖而无法删除的问题】

  • 安装rpm包
    基本语法:rpm -ivh RPM包全路径名称
    参数说明:i=install(安装)、v=verbose(提示)、h=hash(进度条)

yum

  • yum是一个shell前端软件包管理工具。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包。使用yum的前提是可以联网
  • yum的基本指令
    查询yum服务器是否有需要安装的软件:yum list|grep xx 软件列表
    安装指定的yum包:yum install xxx 下载安装

针对修改的配置文件执行:source ~/.bashrc 当前终端和新连接的终端自动生效。

posted @ 2023-08-17 18:04  Cold的窝  阅读(12)  评论(0)    收藏  举报