linux基础命令
Posted 天不生你当如何
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础命令相关的知识,希望对你有一定的参考价值。
一:安装Linux系统相关配置
修改ip配置:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改后:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=6be86ad6-c557-4999-9931-bef68bfc1e48
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.11
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=223.5.5.5
重启:[root@localhost ~]# systemctl restart network
打开VMware编辑的虚拟网络编辑 设置VMnet8 的子网ip为10.0.0.0 网关ip10.0.0.2
设置主机名:
[root@localhost ~]# hostnamectl set-hostname python-linux
设置主机名解析:
[root@python-linux ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.11 python-linux
安装EPEL仓库和常用命名:
[root@python-linux ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
[root@python-linux ~]# yum install -y net-tools vim lrzsz tree screen lsof wget ntpdate
关闭NetworkManager和防火墙:
[root@python-linux ~]# systemctl disable firewalld
[root@python-linux ~]# systemctl stop NetworkManager
关闭selinux:
[root@python-linux ~]# vim /etc/sysconfig/selinux
SELINUX=disabled #将SELINUX修改为disabled
设置时间:
[root@python-linux ~]# /usr/sbin/ntpdate time1.aliyun.com
更改时区:
[root@python-linux ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
二:Linux基础命令使用
whoami:查看当前用户
date:显示当前时间
cal:显示当前月的日历
clear:清屏
ctrl+l:清屏
su:从当前用户切换到另一个用户 su yys
useradd:新增一个用户useradd yys2
passwd:修改用户密码,既可以是普通用户也可以是root用户 如passwd yys2
man:查看Linux命令的说明 如 man su
./: 执行一个文件 ./test 执行test文件
find:查找文件 find / -name test.py 查找test.py 文件所在路径
目录文件相关:
目录的定义:目录相当于Windows中的文件夹,目录中存放的既可以是文件,也可以是其他的子目录。
顶层根目录的表示:使用“/”来表示根目录
两个特殊目录:. 表示当前目录,即用户所在的工作目录 .. 表示父目录,即当前目录的上一层目录
Linux中的一些重要目录:
1:bin目录:用来存放常用的可执行文件
2:sbin目录:用来存放系统的可执行文件
3:家目录:用来存放用户自己的文件或目录,其中,超级用户root的家目录是/root,而普通用户的家目录被存放在/home目录下,并使用用户名作为最后一级目录(家目录)的名称,如cat用户的家目录 为/home/cat
4:dev目录:设备文件目录
5:etc目录:配置文件目录
6: 挂载点(目录):通常可移除式硬件会被挂载在/media或/mnt目录之下
绝对和相对路径:
1:绝对路径的定义:必须以一个正斜线(/)开始。绝对路径包括从文件系统的根节点开始到要查找的对象(目录或文件)所必须遍历的每一个目录的名字,它是文件位置的完整路标,因此在任何情况下 都可以使用绝对路径找到所需的文件。
2:相对路径的定义:不是以正斜线(/)开始,相对路径可以包含从当前目到要查找的对象(目录或文件)所必须遍历的每一个目录的名字。
pwd:查看当前所在目录
cd:切换目录
cd .. 切换到上一级目录
cd - 切换到上一次浏览的目录
cd 切换到家目录
cd ~ 切换到家目录
cd / 切换到根目录
ls: 查看目录中的内容
ls -a 查看隐藏文件 以 . 开头的都为隐藏文件
ls -all 显示所有文件的详细信息
ls -l 显示详细信息 可简写为ll
total 32代表当前目录下文件大小的总和为32K
dr-xr-x--- 第一个字符有几种情况:“-”表示普通文件,“d”代表目录,“l”代表软链接文件(相当于windows下快捷方式),“b”代表设备文件。
后面的9个字符每3个为一组,分别代表文件所有者、文件所有者所在用户组、其它用户对文件拥有的权限。每组中3个字符分别代表读、写、执行的权限, 若没有其中的任何一个权限则用“-”表示。执行的权限用“x”代表。
紧接着的数字3代表硬链接数。
再接下来的root代表这个文件(目录)的属主为 用户root
再接下来的root代表这个文件(目录)所属的用户组为 组root
163代表文件的大小(字节数),目录的大小总是为163字节。
Dec 15 22:36 代表文件(目录)的修改时间。
. 代表文件(目录)名字。
cp:复制文件或者目录
cp -i 覆盖文件之前先询问用户
cp -r 递归处理 将指定目录下的文件和目录一并复制
cp -f 强行复制文件或目录
mv:移动文件或者目录
mv命令也可以用来给文件改名
mkdir:创建文件或目录
mkdir -p 递归创建目录
touch:创建文件
rm:删除命令 生产场景尽量不要使用rm,非要使用的情况下,要先备份再删除
rm -i 删除前询问
rm -r 同时删除该目录下所有目录层,递归删除
rm -f 不询问直接删除
rm -rf 无敌删除
cat:浏览文件内容
head:查看文件的前几行内容 默认为10行 head -n n表示取前几行
tail:查看文件的后几行内容 默认为10行 tail-n n表示取后几行
tail -f 命名可用来动态获取文件的变化 可用于查看日志
more:百分比查看文件
less:上下翻页查看文件
用户、群组、权限相关:
/etc/passwd: 用户相关信息
各个参数间以冒号分隔,第一个参数代表用户名,第二个参数代表密码,第三个参数代表用户id(root id为0,修改用户id为0即变为root用户),第四个参数代表组id,第五个参数代表当前用户描述信息,第六个参数代表当前用户家目录,第七个参数代表是否允许登录系统(/bin/bash 代表允许登录)
/etc/shadow:用来存放用户的密码
/etc/group: 组相关信息
/etc/gshadow:组密码信息
useradd:新增用户
–u:指定用户的UID
–g:指定用户所属的群组
–d:指定用户的家目录
–c:指定用户的备注信息
–s:指定用户所用的shell
userdel:删除用户
usermod: 修改用户信息
–u:修改用户的UID
–g:修改用户的GID
–aG:将一个用户加入到指定的群组中
–d:修改用户的家目录
–c:修改用户的备注信息
–s:修改用户所用的shell
usermod -L:锁住用户
usermod -U:解锁用户
groupadd:创建一个新的群组
-g:指定群组的gid
groupmod:修改群组的相关信息
-g:修改gid
-n:修改群组名
groupdel:删除一个群组
权限相关:
第一个参数由10位构成,权限相关信息:
第一个字符:“-”表示普通文件,“d”代表目录,“l”代表连接文件,“b”代表设备文件
字符2-4为一组:代表当前文件所属用户对这个文件的操作权限 (r 代表读 w 代表写 x代表执行权限)
字符5-7为一组:代表当前文件所属用户所在组对这个文件的操作权限
字符8-10位一组:代表其他用户对这个文件的操作权限
ll -d:查看文件的权限信息 ll -d yys
chmod:修改文件或目录的权限配置
chmod u=rwx yys (修改属主root对yys这个文件的权限为rwx)
chmod g+w yys (为属主所在的组对yys的操作权限增加w权限)
chmod o-x yys (撤销其他用户对yys这个文件的执行权限)
chown:修改文件或目录的属主和属组
chown 属主.属组 路径 (以点号分隔属主和属组) chown yys.yys yys (修改yys这个文件的属主和属组为yys用户)
chown 属主 路径 (只修改属主 不加点号)
chown .属组 路径 (只修改属组 加点号)
chown -R 递归修改路径的的属主和属组 chown -R yys.yys /tmp/test 将test目录下的所有文件和目录的属主和属组都改改为yys用户
用数字表示r、w、x权限:
r ---> 4 w ----> 2 x ---> 1
chmod 517 yys (修改yys这个文件的属主权限 r-x 属组权限 --x 其他用户权限 rwx)
tar:创建归档文件
tar -cvf first.tar b.txt c.txt d.txt 将三个txt文件归档到first.tar中
tar -tf /tmp/test/first.tar 查看归档文件中全部文件
tar -xvf /tmp/test/first.tar 恢复归档文件的全部文件 可指定路径,不指定默认在当前目录下解压 tar -xvf /tmp/test/first.tar -C 路径
gzip:压缩文件
tar -czvf first.tar.gz b.txt c.txt d.txt 创建归档文件的同时调用gzip进行压缩
gunzip:解压文件
解压文件:
.zip 结尾: unzip xxx.zip
.tar .tar.gz .tgz .tar.bz2 .tar.xz结尾 tar xf xxx.tar
.iso结尾 需要挂载 mount -o loop xxx.iso /test
三:Vim编辑器相关
vi:vi是一个UNIX和Linux系统内嵌的标准正文(文字)编辑器,它是一种交互类型的正文编辑器,它可以用来创建和修改正文文件。
vi编辑器的3中基本模式:
1: 命令行模式:vi的默认模式。在这一模式中,所有的输入被解释成vi命令,可以执行修改、复制、移动、粘贴和删除正文等命令,也可以进行移动光标、搜索字符串和退出vi的操作等。
2: 编辑模式:在编辑模式中,可以往一个文件中输入正文。在这一模式下,输入的每一个字符都被vi编辑器解释为输入的正文。使用ESC键返回命令行模式。
3: 扩展模式:在一些UNIX系统上也叫最后一行模式。在这一模式下,可以使用一些高级编辑命令,如搜寻和替代字符串、存盘或退出vi编辑器等。要进入最后一行模式,需要在命令行模式中输入冒号(:),冒号这一操作将把光标移到屏幕的最后一行。
命令行下相关命令:
vim编辑器中光标的移动:命令行模式下 0 移动到当前行的开头 $移动到当前行的末尾
补充:非vim编辑模式输入命令 ctrl+a 跳到命令的开头 ctrl+e 跳到命令的末尾
u: 撤销上一步操作
ctrl+r :恢复上一步操作
dd:删除当前行
ndd:n代表数字 20dd 删除包括当前行所在的20行
yy:复制当前行
nyy:n代表数字 20yy 复制包括当前行所在的20行
p:在当前行的下一行进行黏贴 yy -- p(复制) dd -- p(剪贴) yy -- 100p(复制100次)
P:在当前行的上一行进行黏贴
gg:光标移动到文件首行
G:光标移动到文件末行
nG:n代表数字 移动文件的n行
H:光标移到当前屏幕首行的第一个字符
M:光标移到当前屏幕中间行的第一个字符
L:光标移到当前屏幕末行的第一个字符
扩展模式下相关命令:
:w 保存
:q 退出
:wq 保存退出
:wq!强制保存退出
:set nu 显示行号
:%s/root/ROOT/g 把所有的root替换成ROOT 批量替换
以上是关于linux基础命令的主要内容,如果未能解决你的问题,请参考以下文章