Linux学习笔记(常用命令)

一、修改IP地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改IPADDR的值

注:ctrl + s:锁屏,ctrl + q:取消锁屏。

ip addr:查看IP地址。

systemctl restart network.service:重启网络服务。

ping www.baidu.com:检查网络。

使用 yum search ifconfig 命令安装 Basic networking tools 后可以使用 ifconfig 命令查看IP地址。

二、关闭防火墙

查看防火墙状态

systemctl status firewalld

本次服务内关闭防火墙

systemctl stop firewalld

禁用防火墙服务

systemctl disable firewalld

三、关闭软件安装限制

vi /etc/selinux/config

修改参数:SELINUX=disabled

四、关机

1、poweroff

2、shutdown -h now

五、修改主机名

临时修改:hostname 主机名。

永久修改:vi /etc/hostname。

六、查看命令类型

type 命令。

如:type cd, type ls, type for, type ping

内置命令,命令别名,关键词,文件

七、命令的帮助文档

help:内置命令的帮助文档

man:外部命令的帮助文档

手动安装man:yum install man man-pages -y

八、常用的命令

1、whereis:查询命名文件的位置。

whereis ping,whereis cd

2、file:查看文件的类型

file /usr/bin/cd,file /usr/bin/cd, file /usr/bin/yum

3、who:查看当前在线的用户

4、whoami:我是谁

5、pwd:我在哪

6、uname -a:查看内核信息

7、echo:类似于 sout syso,打印语句

echo hello:hello

8、clear清屏

9、history:历史

history -c:清空历史命令。

九、添加用户

useradd libai

passwd libai

十、常见的字符

1、“.”:

如果文件名的开始说明是个隐藏文件;

. 指向当前目录,

.. 指向当前目录的上级目录

2、$:说明这是一个变量, $PATH Linux的环境变量

3、 *:通配符

4、 -:

当前用户的家目录

每个用户的家目录是不同的

root用户家目录在系统根目录下

其他用户的家目录在/home/用户名为家目录

5、空格

Linux的命令与参数用空格隔开

6、 /:

整个Linux的文件根目录

7、命令的参数

如果是单词一般加 --

如果是字母或者缩写一般加 -

十一、常见的文件系统命令

pwd:当前在哪个目录

cd /etc:绝对路径

cd ../etc:从上层目录寻找etc

ls:显示所在文件夹的文件名列表

ll:显示所在文件夹的文件信息列表

ll -a:把隐藏的文件也显示出来

mkdir:创建一个目录

mkdir -p a/b/c:一次创建一个多级目录

mkdir -p shiren/{libai,baijuyi,lqz}:

rm -rf 文件夹名:删除文件夹

rmdir 文件夹名:删除文件夹

cp 文件名 文件夹名:把文件复制到某个文件夹

cp -r 文件夹名1 文件夹名2:复制文件夹名1到文件夹名2

mv 文件名 文件夹名:移动/剪切文件

mv 文件名1 文件名2:把文件名1 改为 文件名2

rm 文件名:删除文件1

rm -f 文件名:强制删除

rm -r 文件夹:删除文件夹

rm -rf 文件夹:强制删除文件夹

touch 文件名:如果没有就创建一个文件,如果该文件已存在,修改文件的三个时间(Access, Modify, Change),将三个时间改为当前时间。

stat 文件名:查看文件的状态。

chmod a+x 文件名:改变元数据信息(只读/修改权限)

十二、创建文件的链接

ln -s 文件名 链接名:创建软链接。

ln 文件名 链接名:创建硬链接。

十三、cat tac more less head tail

cat 文件名:打开文件(按行号升序打开)。

tac 文件名:打开文件(按行号到序打开)。

more 文件名:显示一屏内容,按回车 一行一行的加载,按空格一页一页的加载。

less 文件名:和more差不多。

head -10 文件名:显示文件的前10行。

tail -3 文件名:显示文件的后3行。

tail -f 文件名:实时显示文件的变化(追加的内容)(监控文件)(监控的是Inode)。

tail -F 文件名:实时显示文件的变化(追加的内容)(监控文件)(监控的是文件名)(平时用tail -F为主)。

十四、find文件位置查找

find 文件范围(文件路径) -name 文件名:查找文件位置,文件名可以用通配符(*)。

十五、vi打开文件

vi 文件名:打文件。

vi +8 文件名:打开文件后直接定位的第8行。

vi + 文件名:直接定位到最后一行。

十六、vi的三种模式
  1. 编辑模式 。

  1. 按 “i” 进入输入模式,按“esc”回到编辑模式。

  1. 按“:”末(低)行模式/命令行模式,按“esc”回到编辑模式(w 保存,q 退出,q!强制退出)。

十七、安装vim

yum install vim -y:安装vim。

rm -rf .profile.swp:删除隐藏文件,避免打开文件时的提示(ATTENTION)。

十八、操作系统文件传输

yum install lrzsz -y:在Linux系统安装用于文件传输的应用。

rz:上传文件到Linux系统(Windows ->Linux)。

sz 文件名:从Linux系统下载文件(Linux ->Windows)。

scp 文件名 root@192.168.188.101:/opt/:将文件从本机Linux系统发送到另一个Linux。

scp root@192.168.188.100:/root/filename /opt:将文件从另个Linux系统赋值到本机Linux。

十九、df分区 du大小

df -h:查看分区信息。

du -h --max-depth=1 /etc:查看指定文件的大小。

二十、文件的压缩与解压缩

方式一:

tar -zxvf 文件名:解压文件。

tar -zcf 压缩后的名字 要压缩的文件名:压缩文件。

方式二:

yum install zip unzip -y:安装压缩和解压缩应用。

zip -r 压缩后的名字 要压缩的文件名:压缩文件。

unzip 文件名:解压文件。

二十一、修改主机域名

vi /etc/hosts

二十二、网络相关命令

yum install net-tools -y:安装ifconfig

ifconfig:查看IP地址。

netstat -anp:

netstat -r:核心路由表 == route。

ping:查看与目标IP地址是否相通。

telnet:查看与目标IP指定短空是否相通。

yum install telnet -y。

curl -X GET http://www.baidu.com :获取网络资源。

二十三、防火墙

systemctl status firewalld.service:查看防火墙状态。

systemctl stop firewall.service:临时停止firewalld。

systemctl disable firewalld.service 禁止防火墙开机启动。

firewall-cmd --state:查看防火墙状态

firewall-cmd --reload:重新载入配置,比如添加规则之后,需要执行此命令。

firewal-cmd --get-zones:列出支持的zone。

firewall-cmd --get-services:列出支持的服务

firewall-cmd --query-serviceftp:查看ftp服务是否支持,返回yes或者no。

firewall-cmd --add-service=ftp:临时开放ftp服务。

firewall-cmd --add-service=ftp --permanent:久开放ftp服务。

firewall-cmd --remove-service=ftp --permanent:久移除ftp服务。

开启一个端口:

firewall-cmd --zone=public --add-port=80/tcp --permanent:添加。

firewall-cmd --reload:重新载入。

firewall-cmd --zone=public --query-port=80/tcp:查看。

firewall-cmd --zone=public --remove-port=80/tcp --permanent:删除。

二十四、互相免密钥

生成秘钥:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

你想免秘钥登录谁,只需要把自己的公钥传递给对方主机即可:

这个秘钥要放在~/.ssh/authorized_keys

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.58.201

二十五、主机名与Host校验

错误原因:Cannot determine realm for numeric host

解决方案1

--本次

ssh -v -o GSSAPIAuthentication=no root@192.168.189.201

解决方案2

--所有修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题最后面添加: StrictHostKeyChecking no

UserKnownHostsFile /dev/null

二十六、日期时间同步策略

date:查看系统当前时间。

cal:查看日历。

修改时间:

date -s 11:11:11

date -s 2019-11-11

date -s 2019-11-11 11:11:11

日期同步:

自动同步时间:

yum install ntp -y

ntpdate cn.ntp.org.cn

搭建本机ntp服务

开启本地ntp服务:service ntpd start

客户端同步时间:ntpdate 192.168.188.100

二十七、用户-组-权限

新增用户:useradd 用户名。

设置密码:passwd 密码。

删除用户:userdel -r 用户名。(级联删除家目录和组)

修改用户信息:

usermod -l luckyss luckyls修改用户名(家目录和组名称是不会被修改的)。

usermod -L luckyss锁定用户名。

usermod -U luckyss解锁用户名。

常用文件:

cat /etc/shadow

用户名和密码。

cat /etc/passwd

用户名,编号,组编号,家目录,命令,目录。

6.5系统0-499普通500+

7.6系统0-999普通1000+

切换账户:

su 用户名

创建组:groupadd lucky

删除组:groupdel lucky

修改组名字:groupmod -n school lucky

查看当前用户对应的组:groups

查看指定用户所在的组:groups schoolboy

注:当我们创建用户的时候,会默认创建一个同名的主组

修改用户的组

usermod -g lucky schoolboy (主组)

usermod -G lucky schoolls (附属组)

chown 用户名 文件名:修改文件所属。

chmod o+w 文件名:修改文件的rwx。

二十八、管道与重定向

管道:|,把前面的结果当做参数传给后面执行。

重定向:[1/2]>(覆盖),[1/2]>>(追加),改变数据输出的位置、方向。

0 in1out 2err

ls / 1> lucky标准输出

ls / > lucky标准输出

ls abcd 2>lucky错误输出

>替换>>追加

ls / 1>> lucky

ls / 1> lucky

结合使用

ls /etc /abc > lucky 2>&1

ls /etc /abc >> lucky 2>&1

信息黑洞

ls /etc /abc >> /dev/null 2>&1

二十九、进程信息

ps -ef:查看进程

UID所属用户

PID当前进程编号

PPID当前进程编号的父进程编号

ps -ef | grep redis

ps -aux:所有信息

ps -aux --sort -pcpu

top:当前服务器内存使用率

三十、后台进程

只需要在命令的后面添加一个&符号

ping www.baidu.com >> baidu &

jobs -l:可以查看当前的后台进程,但是只有当前用户界面可以获取到。

nohup可以防止后台进程被挂起

nohup ping www.baidu.com >> baidu 2>&1 &

杀死进程:kill-9 17599

三十一、 Linux的软件安装
RPM安装

RedHat Package Manager,它属于红帽的一种包管理方式。

通过RPM命令安装软件:rpm -ivh jdk-7u67-linux-x64.rpm

可以查询软件:

rpm -qa | grep jdk

rpm -q jdk

卸载:rpm -e jdk-1.7.0_67-fcs.x86_64

需要手动配置Java的环境变量:

vim /etc/profile

exportJAVA_HOME=/usr/java/jdk1.7.0_67

exportPATH=$JAVA_HOME/bin:$PATH

重新加载配置文件:source /etc/profile

压缩包解压安装

解压文件:

tar -zxf apache-tomcat-7.0.61.tar.gz

拷贝到/opt/school目录下:

mkdir -p /opt/school

cp -r apache-tomcat-7.0.61 /opt/school

启动tomcat:

cd /opt/school/apache-tomcat-7.0.61/bin/

./startup.sh

YUM安装

yum的作用:

可以帮我们管理RPM包

可以帮我们安装软件,

如果软件有其他依赖,会帮我们安装依赖后在安装软件

类似于Maven

yum命令:

search:查询命令或者软件

yum info:查看包的信息

yum list / list jdk:查询安装的rpm包,或者只查询某一周

更换yum源

首先安装wget:yum install wget -y

将系统原始配置文件失效:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

使用Wget获取阿里yum源配置文件:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清空以前yum源的缓存:yum clean all

获取阿里云的缓存:yum makecache

安装Mysql数据库

Mysql的下载地址:https://downloads.mysql.com/archives/community/

Linux的三剑客
普通剑客

cut:用指定的规则来切分文本

cut -d ':' -f1,2,3 passwd | grep root

sort:

sort 文件名:对文本中的行进行排序

sort -t' ' -k2 文件名:对每一行的数据进行切分,按照第二列进行排序

sort -t' ' -k2 -r 文件名:逆序

sort -t' ' -k2 -n 文件名:按照数值大小进行排序,如果有字母,字母在前

wc:统计单词的数量

wc 文件名

4 15 79 文件名

-l line

-w word:以空格来分割单词

-c char

剑客1号:grep

可以对文本进行搜索

同时搜索多个文件

从文档中查询指定的数据

grep adm passwd

grep school passwd lucky

显示匹配的行号

grep -n school passwd

显示不匹配的忽略大小写

grep -nvi root passwd --color=auto

使用正则表达式匹配

grep -E "[1-9]+" passwd --color=auto

剑客2号:sed

sed是Stream Editor(字符流编辑器)的缩写,简称流编辑器

Sed软件从文件或管道中读取一行,处理一行,输出一行;再读取一行,再处理一行,再输出一行...

一次一行的设计使得sed软件性能很高

vi命令打开文件是一次性将文件加载到内存

了解即可

https://www.cnblogs.com/chensiqiqi/p/6382080.html

行的选择模式

10第十行

m,n -->第m行到第n行[m,n]

m,+n-->第一行到第四行[m,m+n]

m~n-->从m行开始,依次累加n

m,$ -->从m开始到最后一行

/school/ -->匹配到school的行

/u1/,/u4/-->从匹配u1到匹配u4

打印到控制台

sed '2a luckyisgood' passwd

sed '2i luckyisgood' passwd

直接修改到文件

sed -i '2a luckyisgood' passwd

sed '3,10d' passwd

整行替换

sed '3,20c hahaha' passwd

sed '3~1c hehehe' passwd

字符替换

sed '1,5s/root/lucky/g' passwd

sed '1,5s#/#-#g' passwd

剑客3号:awk

它不是一个剑客,它是一门语言

了解即可

https://www.cnblogs.com/chensiqiqi/p/6481647.html

模式与动作

awk -F ":" 'NR>=2&&NR<=6' /etc/passwd

awk -F ":" '{print NR,$1}' /etc/passwd

awk -F ":" 'NR>=2&&NR<=6 {print NR,$1}' /etc/passwd

awk -F ":" 'NR==1{print NR,$1}NR==2{print NR,$NF}' /etc/passwd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值