👍 常用命令
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 python
,ps -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_keys
,chmod 700 ~/.ssh
📁 文件及目录
文件权限
文件类型权限,链接数,拥有者,用户组,大小,最后修改时间,文件名
文件类型权限
文件类型:【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源
-
备份
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
-
下载新的
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
-
清除缓存
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
-
清除缓存
yum clean all # 清除系统所有的yum缓存 yum makecache # 生成yum缓存