博客列表 >​Linux常用知识点与问题解答

​Linux常用知识点与问题解答

.
.原创
2022年07月10日 13:41:511021浏览


虚拟机重装tools还是不能粘贴文件时:

yum install open-vm-tools-desktop
centos7没有自带ifconfig,需要下载安装net-tools
CentOS7的文件系统类型是XFS,CentOS6之前为ext4

安装图形化界面

yum groupinstall "X Window System"
yum groupinstall -y "GNOME Desktop"

centos7切换桌面或命令行模式

进入图形化界面
init 5
安装gnome后自动进入桌面模式
如果需要打开命令行,可以直接打开终端或者直接按 ctrl+alt+F1切换至命令行,然后按ctrl+alt+F2切换图形化界面(前提是已经安装)

获取当前系统启动模式

# systemctl get-default 
编辑

multi-user.target 是命令行
graphical.target 是图形界面

设置开机启动
      systemctl set-default graphical.target由命令行模式更改为图形界面模式
       systemctl set-default multi-user.target由图形界面模式更改为命令行模式

将用户加入用户组:

    某个账号想要加入此群组时,将该账号填入这个字段即可。 举例
来说,如果我想要让 dmtsai 与 alex 也加入 root 这个群组,那么在第一行的最后面加上『dmtsai,alex』,
注意不要有空格, 使成为『 root:x:0:dmtsai,alex 』就可以啰,如图:
编辑
使用--stdin参数更改密码为“123456”:
编辑

利用psswd锁定用户账号,使之无法登陆:

编辑

解锁:

编辑
除了使用 passwd -S 之外,还有更详细的密码参数显示功能,那就是 chage 了!他的用
法如下:
编辑

创建用户加批注以及组和设置密码实例:

编辑
编辑
要注意的地方主要有:myuser1 myuser2 都有支援次要群组,但该群组不见得会存在,因此需要
先手动建立他! 然后 myuser3 是『不可登入系统』的账号,因此需要使用 /sbin/nologin 这个 shell
来给予,这样该账号就无法登入啰!

pwconv

这个指令主要的目的是在『将 /etc/passwd 内的账号与密码,移动到 /etc/shadow 当中!』

pwunconv

相对于 pwconv pwunconv 则是『将 /etc/shadow 内的密码栏数据写回 /etc/passwd 当中, 并且
删除 /etc/shadow 文件。』这个指令说实在的,最好不要使用啦! 因为他会将你的 /etc/shadow 删除
喔!如果你忘记备份,又不会使用 pwconv 的话,粉严重呢!

入门阶段遇到的问题与解决办法:

问题:编译安装错误
编辑
解决方案:安装gcc-c++
编辑
问题:make出错
编辑
解决方案以及原因: 原因是ppp软件包版本和pppd.h 不匹配
编辑

乌班图突然无法上网时:

sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start

yum安装缺点:

yum方式安装之后的文件比较分散,不能指定特定功能,不利于后期维护管理。
Centos7:安装lrzsz可以将本地文件直接拖进CRT 、Xshell等远程连接工具(无需安装ftp、Samba等文件传输协议)如下图:
编辑
安装好后直接输入rz就可以弹出这个框就可以传输本地文件了。也可以在终端输入sz,这样可以将Linux的文件输出到window。
编辑

使用find搜索文件:

Find / -(i表示忽略大小写)name +文件或目录名。
find / | grep nginx.conf(搜索配置文件)。

使用grep过滤或修改文件:

grep -v "#" /etc/vsftpd/vsftpd.conf(过滤vsftpd.conf文件的注释行)
egrep -v "^#" /etc/postfix/main.cf | grep -v "^$" > /etc/postfix/main.cf.orig(清除注释行和空行,并将清除后的文件命名为main.cf.orig)
 grep -v "#" +假=加文件名 -v是反选
Sed常用于替换
编辑
source 命令以便让新的PATH 环境变量内容可以立即生效:
编辑
编辑

du命令:

使用 du -h -x --max-depth=1  查看哪个目录占用过高,对于过高目录中的内容适当删减腾出一些空间
执行命令:cd / && du -h -x --max-depth=1

安装Oracle时检查监视器未通过问题的解决

编辑
配置环境变量
编辑

Linux几种中断信号的区别:

HUP,INT,KILL,TERM,TSTP

HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)

mpstat工具

CentO S需要安装sysstat才能使用mpstat监控工具

rsnapshot工具

CentO S需要安装epel-release,才能安装rsnapshot工具

MySQL修改密码

mysqladmin -u用户名 -p旧密码 password 新密码(修改密码)
mysql -u用户名 -p密码 (登录数据库)

网络启动

[root@localhost ~]# ifdown ens33   #关闭网络
[root@localhost ~]# ifup ens33     #启动网络
mktemp testing.XXXXXX(模板可以包含任意文本文件名,在文件名末尾
加上6个X就行了。)
mktemp -t test.XXXXXX(-t选项会强制mktemp命令来在系统的临时目录来创建该文件)

创建临时文件命令

mktemp

创建临时目录命令

tempdir

文件权限中:

第一个数字表示表示当前文件的拥有者的权限
 第二个数字表示当前文件的所属组(同组用户)权限
 第三个7:表示当前文件的组外权限

cat具有复制功能

cat file1.txt > file2.txt (把当前目录下的 file1.txt 复制为 file2.txt )

用 ln -s 配置软连接

ln -s /usr/local/python3/bin/pip3  /usr/bin/pip()

更改时间

date -s "20191117 19:40:00"

wget下载文件时指定保存路径

wget -c 网址 -P/目录

查看SELinux当前状态

getenforce

临时关闭

setenforce 0                 

yum安装报错:

编辑

办法:

# vi /usr/bin/yum
#!/usr/bin/python2.7
修改urlgrabber-ext-down文件,更改python版本
# vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2.7

Invalid version flag: if 错误

编辑

办法

1. 备份默认的yum
# mv /etc/yum.repos.d /etc/yum.repos.d.backup

2. 设置新的yum目录
# mkdir /etc/yum.repos.d

3. 下载阿里yum配置到该目录中,用wget,进行下载,
# yum install -y wget
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

4. 重建缓存
yum clean all
yum makecache

5. 升级所有包
yum upgrade -y


yum -y update:升级所有包同时,也升级软件和系统内核;(时间比较久)
yum -y upgrade:只升级所有包,不升级软件和系统内核,软件和内核保持原样。

ps命令参数详解:

1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
2)ps -A 显示所有程序。
3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
4)ps -e 此参数的效果和指定"A"参数相同。
5)ps e 列出程序时,显示每个程序所使用的环境变量。
6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
7)ps -H 显示树状结构,表示程序间的相互关系。
8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
9)ps s 采用程序信号的格式显示程序状况。
10)ps S 列出程序时,包括已中断的子程序资料。
11)ps -t <终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。
12)ps u   以用户为主的格式来显示程序状况。
13)ps x   显示所有程序,不以终端机来区分。
14)ps -l 較長,較詳細的顯示該PID的信息
编辑

ps显示字段详解:

PID 进程id
PPID 父进程id
RUSER Real user name
UID 进程所有者的用户id
USER 进程所有者的用户名
GROUP 进程所有者的组名
TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
P 最后使用的CPU,仅在多CPU环境下有意义
%CPU 上次更新到现在的CPU时间占用百分比
TIME 进程使用的CPU时间总计,单位秒
TIME+ 进程使用的CPU时间总计,单位1/100秒
%MEM 进程使用的物理内存百分比
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE 可执行代码占用的物理内存大小,单位kb
DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR 共享内存大小,单位kb
nFLT 页面错误次数
nDRT 最后一次写入到现在,被修改过的页面数。
S 进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程
COMMAND 命令名/命令行
WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
Flags 任务标志,参考 sched.h


常用命令快捷键

编辑

 查看用户所在群组

groups   

用于修改文件的群组。

chgrp    

#将chgrp.txt的属组改成test
chgrp test charp.txt
编辑

chown

改变文件的所有者,需要 root 身份才能运行。
chown 用户名 文件名 --> 把其它用户创建的文件名转让给其他用户chown 用户名:组名 文件名 --> 把文件名的用户改为“其他用户名”,群组改为“其他组名”
编辑

一、关于man手册

命令手册位置:

/usr/share/man
使用手册;压缩格式的文件,有章节之分
                编辑
man1, man2, .....
                
       1.用户命令;
       2.系统调用
       3.C库调用
       4.设备文件及特殊文件:
       5.文件格式。
       6.游戏使用帮助
       7 .杂项;
       8:管理工具及守护进程;
编辑

二、创建账户并指定shell

编辑

三、linux文件系统:

        1.文件名名称严格区分字符大小写;
        2.文件可以使用除/以外任意字符;
        3.文件名长度不能超过255字符:
        4.以“.”开头的文件为隐藏文件

ubuntu安装中文man帮助手册:

sudo apt-get install manpages-zh

磁盘管理

物理卷(PV)----卷组(VG)----- 逻辑卷(LV)

使用mkfs语句格式化硬盘。

列:mkfs.ext4 /dev/md0

FSH:文件系统层次化标准

        绝对路径指的是从根目录(/)开始写起的文件或目录名称,而相对路径则指的是相对于当前路径的写法.
dev目录中sda设备之所以是a,并不是由插槽决定的,而是由系统内核的识别顺序来决定的,而恰巧很多主板为/dev/sda的插槽顺序就是系统内核的识别顺序,因此才会被命名。
VFS=虚拟文件系统
使用uquota参数让centos7硬盘设备支持quota磁盘容量配额服务。
编辑
重启之后就发现/boot目录已经支持quota磁盘配额技术了。
编辑

EXT与XFS不同点:

编辑

不同RAID系列优缺点:

编辑

LVM (逻辑卷管理器)相关指令汇整与 LVM 的关闭:

编辑
编辑

RAID(独立冗余磁盘阵列) -x 代表有几块备份盘

编辑

1,定时任务命令及主要参数

       crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

命令:crontab

参数:

(1)-u: 指定一个用户。

(2)-e: 编辑crontab 的工作内容;

(3)-l: 列出某个用户的任务计划,查阅crontab的工作内容;

(4)-r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。


2,crontab -e
进入vi的编辑界面,每个命令是一行,有6个参数内容

内容含义:

(1)分:0~59。

(2)时:0~23。

(3)日:1~31。

(4)月:1~12。

(5)周:0~7,0或7,都代表“星期天”的意思。

(6)命令:需要定时运行的任务命令。

特殊字符:定时的参数字符可以用特殊字符代替。可以代替的字符有:

(1)*(星号):代表该参数含义所有范围任何时刻都需要运行。

(2),(逗号):代表分隔时刻的意思,例如如果要执行的工作是2:00与7:00时,命令为:0 2,7 * * * command

(3)-(减号): 代表一段时间范围内需要执行,例如如果要执行的工作是2:00到7:00执行,命令为:0 2-7 * * * command

(4)/n(斜线): 那个n代表数字,即是每隔n单位间隔的意思,例如每八分钟进行一次,命令为:*/8 * * * * command

2,开启定时任务

命令:crontab /weblogic/tools/task.crontab

3,停止定时任务

命令:crontab /weblogic/tools/task.null.crontab     //task.null.crontab是一个没有内容的空文件

微信公众号:黑马金牌编程


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议