【Sofice小司笔记】6 Linux,包含各类常用命令速查、文件目录管理、Shell编程、用户管理、包管理等

👍 常用命令

1、权限

文件

  • chgrp:更改文件属组;chgrp [-R] 属组名 文件名,-R递归
  • chown:更改文件属主,也可以同时更改文件属组;chown [–R] 属主名 文件名chown [-R] 属主名:属组名 文件名
  • chmod:更改文件9个属性;chmod [-R] xyz 文件或目录

用户

  • useradd:添加账号;-m创建使用者目录,-g用户组,-d指定用户主目录
  • userdel:删除用户;-r删除使用者目录
  • usermod:修改账号;
  • passwd:用户口令;-i锁定,-u解锁,-d无口令,-f强迫修改
  • su:切换用户;su - root 新工作环境
  • sudo:获取临时的root权限;sudo su

用户组

  • groupadd:创建用户组;-g指定GID
  • groupdel :删除用户组;
  • groupmod:修改用户组;-n 新名字
  • newgrp :切换组;

2、目录

-f:强制,-i:再次询问

  • ls: 列出目录,-a隐藏文件,-l列表,-i显示inode
  • cd:切换目录
  • pwd:显示目前的目录
  • mkdir:创建一个新的目录,-p递归创建子目录,-m配置权限
  • rmdir:删除一个空的目录,-p递归删除子目录
  • cp: 复制文件或目录
  • rm: 移除文件或目录,-r递归删除
  • mv: 移动文件与目录,或修改文件与目录的名称

3、文件

  • touch:新建文件
  • vim:新建、修改
  • echo:输入字符串;echo "str" >> 文件名
  • cat:由第一行开始显示文件内容
  • tac:从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl :显示的时候,顺道输出行号!
  • more:一页一页的显示文件内容
  • less:与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head:只看头几行;-n+数字
  • tail:只看尾巴几行
  • ln:创建连接;默认硬链接(inode 节点号相同),-s 软连接

上传文件到linux服务器:scp .\id_rsa.pub root@101.35.119.69:~/.ssh/id_rsa.pub

下载:wget -P /home/sofice http://cn.wordpress.org/wordpress-3.1-zh_CN.zip

4、磁盘

  • df:整体磁盘使用量;-h KBytes,-H 1024进制,-T文件系统类型,-i inode数量
  • du:目录下磁盘空间使用量;-s 总量,-m MBytes
  • mount:挂载;mount /dev/hdc6 /mnt/hdc6
  • umount:卸载;

5、进程与服务

  • ps:进程信息;-u 用户信息,-x 后台参数, ps -aux|grep pythonps -ef查看父进程

  • netstat -anp:端口信息;

  • jps:启动的任务及端口;

  • pstree:进程树;-p 父id,-u 用户组,pstree -pu

  • kill:结束进程;kill -9 PID

  • whereis:进程位置;

  • systemctl:服务管理;

    # 启动服务
    systemctl redis start
    # 停止服务
    systemctl redis stop
    # 开机自启
    systemctl enable redis
    systemctl disable redis
    # 查看状态
    systemctl status redis
    
  • curl:测试服务;curl localhost:8080

6、系统状况

  • uname:操作系统的发行版号; uname -a

🚪 Linux简介

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口) 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

CentOS是一款流行的开源Linux发行版,是RHEL(Red Hat Enterprise Linux)源代码经过再编译而成。

通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。

man + 命令:查看命令使用手册

linux加载配置文件顺序:/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]

centos改颜色

# 在/etc/bashrc 最后加上
export PS1="\[\e[32;1m\]\u\[\e[33;1m\]@\[\e[35;1m\]\h \[\e[0m\]\w\$"
# 激活环境
source /etc/bashrc

ssh公钥位置:将公钥id_rsa.pub导入 ~/.ssh/authorized_keys;并更改权限chmod 600 ~/.ssh/authorized_keyschmod 700 ~/.ssh

📁 文件及目录

文件权限

文件类型权限,链接数,拥有者,用户组,大小,最后修改时间,文件名

image-20211209202246424

文件类型权限

文件类型:【d】目录、【-】文件、【l】连接、【b】存储设备、【c】串行端口设备

权限权值:r:4,w:2,x:1

文件与目录

以下是对这些目录的解释:

  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

    【/etc/passwd】用户信息

    【/etc/shadow】密码

    【/etc/group】用户组信息

    【/etc/profile】【/etc/profile.d/*.sh】环境变量

  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。

  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /opt:这是给主机额外安装软件所摆放的目录。比如安装maven,mysql等

  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /srv:该目录存放一些服务启动之后需要提取的数据。

  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

  • /tmp:这个目录是用来存放一些临时文件的。

  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin: 系统预装的可执行程序,会随着系统升级而改变。

  • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src: 内核源代码默认的放置目录。

  • /usr/local/bin:用户放置自己的可执行程序的地方,不会被系统升级而覆盖同名文件。

  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

  • /www:存放服务器网站相关资源,环境及项目

Vim

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

常用的几个命令:

  • i 前面插入,a 后面插入,o下一新行
  • x 删除当前光标所在处的字符
  • : 切换到底线命令模式,以在最底一行输入命令。

输入模式:

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。

磁盘管理

根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载”

文件压缩

🐚 Shell

用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。

系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。

利用这一特点,我们可以限制用户只能运行指定的应用程序,在该应用程序运行结束后,用户就自动退出了系统。有些Linux 系统要求只有那些在系统中登记了的程序才能出现在这个字段中。

BASH

正则表达式与文件格式化

shell脚本

🙍 使用者管理

https://blog.csdn.net/sam305415304/article/details/105513451/?ops_request_misc=&request_id=&biz_id=102&utm_term=xshell%20ssh%20%E9%9D%9Eroot&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-105513451.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187

账号管理

用户信息【/etc/passwd】,密码【/etc/shadow】

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

UID 用户标识号

$ 表示普通用户,# 表示root用户

伪用户(pseudo users)

这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。

bin 拥有可执行的用户命令文件
sys 拥有系统文件
adm 拥有帐户文件
uucp UUCP使用
lp lp或lpd子系统使用
nobody NFS使用

添加sudo权限

visudo 命令是用来编辑修改【/etc/sudoers】,加入一行:

sofice  ALL=(ALL)    ALL 

用户组管理

用户组信息【/etc/group】

GID 用户组标识号

进程管理

PID进程标识号

包管理

rpm

RPM包格式:name-version.type.rpm  软件名-版本号.包类型.rpm
安装:rpm -i /PATH/TO/RPM包名全称
卸载:rpm -e --nodeps RPM包名 //--nodeps 强制跳过依赖卸载
升级:rpm -U RPM包名
查询:rpm [参数] RPM包名
常用参数:
        rpm -vh                    //显示安装进度
        rpm -qa                    //查询系统中安装的所有RPM软件包
        rpm -q RPM包名             //查询指定软件包是否已安装
        rpm -qp RPM包文件名         //查询包中文件信息,安装前了解软件包中信息
        rpm -qi RPM包名            //查询系统中已安装包的描述信息
        rpm -ql RPM包名            //查询系统中已安装包里所包含的文件
        rpm -qf RPM包名            //查询系统中指定文件所属的软件包
        rpm -qa | grep php         //检索系统中已经安装有关php的软件包
        rpm --noscript             //不安装脚本
        rpm --nosignature          //不检查合法来源
        rpm --nodigest             //不检查完整性
验证:rpm -V [参数]

tar

Unix和类Unix系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件后缀亦为“tar”。tar文件格式已经成为POSIX标准,最初是POSIX.1-1988,当前是POSIX.1-2001。本程序最初的设计目的是将文件备份到磁带上(tape archive),因而得名tar。
tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。

tar代表未压缩的tar文件。已压缩的tar文件则附加压缩文件的扩展名,如经过gzip压缩后的tar文件,扩展名为“.tar.gz”

建立TAR包:将多个文件或目录打包成一个文件
tar -cvf TAR包名.tar /PATH/TO/<文件或目录名>   //只打包不压缩 
tar -zcvf TAR包名.gz /PATH/TO/<文件或目录名>   //将指定目录或文件打包后压缩,指定压缩格式为gz
tar -jcvf TAR包名.bzip2 /PATH/TO/<文件或目录名>   //将指定目录或文件打包后压缩,指定压缩格式为bzip2
tar -Jkc --level=9 -f TAR包名.xz /PATH/TO/<文件或目录名>    //将指定目录或文件打包后压缩,指定压缩格式为XZ,压缩级别为9(默认为6),并且强制执行,压缩后保留源文件

查询TAR包中内容
tar -tf /PATH/TO/TAR包名.tar
tar -ztf /PATH/TO/TAR包名.tar.gz
tar -tvf /PATH/TO/TAR包名.tar.xz

释放TAR包
tar -xvf /PATH/TO/TAR包名.tar
tar -zxvf /PATH/TO/TAR包名.gz
tar -xvf /PATH/TO/TAR包名.xz -C /newpath/    //将压缩包解压到指定的目录,通用的解压缩格式

yum

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum 配置文件默认目录位置为 【/etc/yum.repos.d】

yum -y install 包名   -y所有的提示都为y
yum remove 包名       卸载
修改yum源
  1. 备份

    mv /etc/yum.repos.d/CentOS-AppStream.repo.repo /etc/yum.repos.d/CentOS-AppStream.repo.bak
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    mv /etc/yum.repos.d/CentOS-centosplus.repo.repo /etc/yum.repos.d/CentOS-centosplus.repo.bak
    mv /etc/yum.repos.d/CentOS-Devel.repo.repo /etc/yum.repos.d/CentOS-Devel.repo.bak
    mv /etc/yum.repos.d/CentOS-Epel.repo.backup /etc/yum.repos.d/CentOS-Epel.repo.bak
    mv /etc/yum.repos.d/CentOS-Extras.repo.backup /etc/yum.repos.d/CentOS-Extras.repo.bak
    mv /etc/yum.repos.d/CentOS-HA.repo /etc/yum.repos.d/CentOS-HA.repo.bak
    mv /etc/yum.repos.d/CentOS-PowerTools.repo /etc/yum.repos.d/CentOS-PowerTools.repo.bak
    
  2. 下载新的 http://mirrors.aliyun.com/repo/Centos-8.repo,并命名为CentOS-Base.repo

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
    
  3. 清除缓存

    yum clean all     # 清除系统所有的yum缓存
    yum makecache     # 生成yum缓存
    

bak
mv /etc/yum.repos.d/CentOS-HA.repo /etc/yum.repos.d/CentOS-HA.repo.bak
mv /etc/yum.repos.d/CentOS-PowerTools.repo /etc/yum.repos.d/CentOS-PowerTools.repo.bak


2. 下载新的 `http://mirrors.aliyun.com/repo/Centos-8.repo`,并命名为`CentOS-Base.repo`

```sh
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
  1. 清除缓存

    yum clean all     # 清除系统所有的yum缓存
    yum makecache     # 生成yum缓存
    
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值