Linux基础1

Linux基础命令

1.文件的权限

-  普通文件
d  目录文件
s  套接字文件
b  块设备文件
l  链接文件
c  字符文件

2.文件查看(ls命令)

文件查看
[root@localhost ~]# ls
abc  anaconda-ks.cfg  avc  EOF  shen
[root@localhost ~]# ls -l
总用量 8
drwxr-xr-x. 2 root root    6 7月   6 15:00 a

3.查看绝对路径(打印当前目录)

查看绝对路径
[root@localhost ~]# pwd
/root
pwd :  打印当前目录   print work directory

4.创建目录(mkdir命令)

mkdir
- p  创建父目录
[root@localhost ~]# mkdir a
[root@localhost ~]# mkdir -p b
[root@localhost ~]# ls
a  abc  anaconda-ks.cfg  avc  b  EOF  shen

5.回显(echo命令)

echo 
[root@localhost ~]# echo hello word
hello word	

6.删除(rm命令)

rm:<remove>
 - r 递归删除
[root@localhost ~]# ls
a  abc  anaconda-ks.cfg  avc  b  EOF  shen
[root@localhost ~]# rm -rf b
[root@localhost ~]# ls
a  abc  anaconda-ks.cfg  avc  EOF  shen

7.页首末查看

head   -3查看前三行
tail   -1 查看后一行

8.复制(cp命令)

CP:  复制    <copy>
cp   文件/目录   目标文件

9.过滤某一个文件(grep命令)

​ grep 例:

已知avc文件有内容(liuqiangchishi),用grep  shi abc 就能查看
grep    关键字   文件名
		grep   -C    1   关键字     文件名  
	-A    后一行
	-B    前一行
	-C    前后各一行
例:[root@localhost ~]# cat avc
liuqiangchishi
shen
long
feui
fdedsd
gfad
[root@localhost ~]# grep shi avc
liuqiangchishi
[root@localhost ~]# 

10.通配符

​ 常见的通配符

? .   *

11.压缩与解压缩(gzip、bzip2、xz、zip)

​ gzip

gzip的解压方式:-zcf   test.tar.gz

​ bzip2

bzip2的解压方式:-jcf   test.atar.bz2

​ xz

xz的解压方式:-Jcf   test.tar.xz
xf解压方式能解压以上三种压缩格式。

​ zip

zip的解压方式:unzip进行解压缩

12.df -h

	df  -h |awk  '{print 
 $3}'
​	df -h |awk  'NR==6{print $3}'
例:
[root@localhost ~]# df -h | awk '{print$3}'
已用
1.2G
0
0
12M
0
142M
33M
0

13.less文件名

/查找的内容
b   往前翻  空格往后翻 
n  查找下一个    
more   文件名  翻屏查看文件  (空格)
N 查找上一个

14.cat格式给文件里面写入内容(cat命令)

[root@localhost ~]# touch avc
[root@localhost ~]# cat > avc <<EOF
> liuqiangchishi
> shen
> long
> feui
> fdedsd
> gfad
> EOF

15.sed命令

sed
sed :编辑一个或多个文件、简化对文件的反复操作、编写转换程序等
		-n :只显示处理后的结果
		set  -n   '/查找/p(打印)'    文件名
		-i : 替换
		set  -i  's(取代)/改变前/改变后/g'   文件名

16.find命令查找相关操作

find -name abc 在当前目录下找abc文件(在这些操作之前必须得现有abc这个文件)

[root@localhost ~]# find  -name abc
./abc

find / -name abc 在/下找abc文件

[root@localhost ~]# find  /  -name abc 
/root/abc
[root@localhost ~]# 

find -type f 查找普通文件(在这里由于文件很多, 省略部分)

[root@localhost ~]# find -type f 
./.bash_logout
./.bash_profile
./.bashrc

find -type d 目录文件

[root@localhost ~]# find -type d../shen./abc./a

查找某文件夹下超过30天的.log日志,并删除掉。

[root@localhost ~]# find  /xxx/xxx/xxx/ -mtime +30 -name "*.log" -exec rm -rf {} \;

查找系统某位置文件大于30M的文件并删除
查找大于30M的文件

[root@localhost ~]# find / -type f -size +30M

查找大于30M的文件并删除

[root@localhost ~]# find / -type f  -size +30M | xargs rm -rf 

find -name '*d’查找所有文件后缀为d的文件

find -name '*d'

find -name ‘*d’ -exec rm -rf { } ; 删除所有后缀名为d的文件(在上条命令得基础上删除后缀名为d得删除掉)

find -name '*d' -exec rm -rf { } \; 

find -name 查找文件名 -exec mv { } 文件名 / \ ;查找文件名为什么,移动都某文件下面

注:管道符:把前面命令执行的结果交给后面的命令去处理, 这就是管道符。

17.重定向操作

重定向操作分为两种(操作前请先创建abc)

输出重定向:覆盖重定向/追加重定向

[root@localhost ~]# echo "shen" abcshen abc
[root@localhost ~]# echo "long" abclong abc
[root@localhost ~]# 

追加重定向

[root@localhost ~]# echo "long" > abc
[root@localhost ~]# cat abclong
[root@localhost ~]# echo "long" >> abc
[root@localhost ~]# cat abclonglong
[root@localhost ~]# 

用cat命令把abc里面的文件内容写入到def里面,两个文件内容一致。

[root@localhost ~]# cat > def < abc
[root@localhost ~]# cat deflonglong
[root@localhost ~]# cat abclonglong
[root@localhost ~]# 

18.用户和组管理

用户创建

[root@localhost ~]# useradd tom
[root@localhost ~]# id tomuid=1001(tom) gid=1001(tom) 组=1001(tom)
[root@localhost ~]# 

指定uid创建用户

[root@localhost ~]# useradd -u 1202 long
[root@localhost ~]# id longuid=1202(long) gid=1202(long) 组=1202(long)
[root@localhost ~]# 

修改用户(usermod)

[root@localhost ~]# useradd httpd
[root@localhost ~]# usermod -s /bin/bash httpd

修改uid

[root@localhost ~]# usermod -u 2000 httpd
[root@localhost ~]# id httpduid=2000(httpd) gid=1001(httpd) 组=1001(httpd)[root@localhost ~]# 

删除用户(userdel)

简单得删除用户做法

[root@localhost ~]# userdel httpd
[root@localhost ~]# 

强制删除用户(这里由于上面已经删除, 所以不能再次删除, 强制删除用于删除不了得文件来进行强制删除)

[root@localhost ~]# userdel -r httpduserdel:用户“httpd”不存在[root@localhost ~]# 

创建组(groupadd)

注: -r 系统组gid系统自动分配
系统用户和系统组,他的uid分配都是1-999
普通用户和系统组,他的uid分配都是1000-65535

[root@localhost ~]# groupadd -g 1244 lfei[root@localhost ~]# 

删除组(groupdel)

[root@localhost ~]# groupdel lfei[root@localhost ~]# 

19.密码设置及密码破解

注:普通用户必须遵循密码复杂性要求
普通用户只能给自己设置密码,而管理员可以给任何人设密码。

设置密码方式两种

[root@localhost ~]# id auid=1001(a) gid=1001(a) 组=1001(a)
[root@localhost ~]# passwd a
更改用户 a 的密码 。
新的 密码:重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# 

第二种设置密码得方式

[root@localhost ~]# echo 123456 | passwd --stdin a
更改用户 a 的密码 。passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# 

密码破解步骤及命令

1.关机
2.开机
3.在内核按e键
4.找到UTF8这行,在这一行中加上rd.break
5.ctrl+x
6.mount -o remount,rw /sysroot
7.chroot /sysroot
8.echo “密码” | passwd --stdin root
9.touch /.autorelabel
10.exit
11.exit

20.vim编辑命令使用

vim的一些常规基础操作(该命令无法演示)

a 在当前光标的后面转为输入模式
i 在当前光标的前面转为输入模式
o 在当前光标的下面转为输入模式
A 在当前光标的行尾转为输入模式
I 在当前光标的行首转为输入模式
O 在当前光标的上面转为输入模式

vim模式转换

输入模式–>命令模式 :ESC
命令模式–>末行模式:冒号

在命令模式下面的常规操作

gg 跳转到第一行
3gg 跳转到第三行
G 跳转到最后一行
dd 删除当前光标所在行
3dd 删除包含当前光标所在行内一共三行
D 删除当前光标所在行的内容
yy 复制当前行的内容
3yy复制包括当前行在内的三行内容
p 粘贴到当前行的后面一行
P 粘贴的当前行的前面一行

末行模式常用指令

:wq!强制保存
:q! 不保存退出

21.进程管理

ps查看进程是否启动

[root@localhost ~]# ps   
PID TTY          TIME CMD 55071 pts/0    00:00:00 bash 92458 pts/0    00:00:00 bash118474 pts/0    00:00:00 ps
[root@localhost ~]# 

过滤出某一个进程(ps aux)

[root@localhost ~]# ps aux | grep httpd
root     119507  0.0  0.0 112720   964 pts/0    S+   15:29   0:00 grep --color=auto httpd[root@localhost ~]# 
[root@localhost ~]# ps -ef | grep httpd
root     119971  92458  0 15:30 pts/0    00:00:00 grep --color=auto httpd[root@localhost ~]# 

实时查看进程信息(top)

#top
top - 15:31:12 up  5:02,  3 users,  load average:Tasks: 202 total,   1 running, 201 sleeping,   0 %Cpu(s):  0.3 us,  1.3 sy,  0.0 ni, 98.3 id,  0.0KiB Mem :  3863540 total,  3240656 free,   197448KiB Swap:  4063228 total,  4063228 free,        0   PID USER      PR  NI    VIRT    RES    SHR S  55066 root      20   0  159120   5988   4272 S      9 root      20   0       0      0      0 S top - 15:31:31 up  5:03,  3 users,  load average:Tasks: 202 total,   1 running, 201 sleeping,   0 %Cpu(s):  0.2 us,  1.1 sy,  0.0 ni, 98.8 id,  0.0KiB Mem :  3863540 total,  3241696 free,   196384KiB Swap:  4063228 total,  4063228 free,        0   PID USER      PR  NI    VIRT    RES    SHR S  55066 root      20   0  159120   5988   4272 S  55209 root      20   0  162544   2844   1576 S      1 root      20   0  193604   6644   4112 S      2 root      20   0       0      0      0 S 

22.进程查杀(kill)

注:kill pid默认是15 ,但是在日常生活中我们不用-15 ,因为-15 它不能完全杀死进程, 或者说杀不死进程,我们一般都是-9来强制杀死进程。(在这里直接干掉网络,连接断开)

[root@localhost ~]# kill -9 55066连接断开

23.权限管理

权限分为读、写、执行,三种

​ r:读
​ w:写
​ x: 执行

[root@localhost ~]# ll^[[A总用量 12drwxr-xr-x. 3 root root   29 7月   8 14:53 a    这里的文件权限是755-rw-r--r--. 1 root root   10 7月   8 15:02 abc  这里的文件权限是644

特殊权限设置

suid:4 针对应用程序设置

chmod u+s filename
chmod 4755 filename

[root@localhost ~]# ll filename-rw-r--r--. 1 root root 0 7月   8 15:41 filename[root@localhost ~]# chmod u+s filename
[root@localhost ~]# ll filename-rwSr--r--. 1 root root 0 7月   8 15:41 filename[root@localhost ~]# chmod 4755 filename
[root@localhost ~]# ll filename-rwsr-xr-x. 1 root root 0 7月   8 15:41 filename[root@localhost ~]# 

sgid:2 针对目录设置

chmod g+s dr
chmod 2755 dir

[root@localhost ~]# ll dir
-rw-r--r--. 1 root root 0 7月   8 15:43 dir
[root@localhost ~]# chmod g+s dir
root@localhost ~]# ll dir
-rwxr-sr-x. 1 root root 0 7月   8 15:43 dir
[root@localhost ~]# chmod 2755 dir
[root@localhost ~]# ll dir
-rwxr-sr-x. 1 root root 0 7月   8 15:43 dir
[root@localhost ~]# 

sticky:1

chmod o+t dir
chmod 1777 dir

[root@localhost ~]# ll shen
-rw-r--r--. 1 root root 0 7月   8 15:45 shen
[root@localhost ~]# chmod o+t shen[
root@localhost ~]# chmod 1777 shen
[root@localhost ~]# ll shen
-rwxrwxrwt. 1 root root 0 7月   8 15:45 shen
[root@localhost ~]# 

23.ACL文件访问控制列表(setfacl)

格式:

setfacl -m u:用户:权限 filename

setfacl -m g:组:权限 filename

[root@localhost ~]# setfacl -m g:a:rw- a
[root@localhost ~]# setfacl -m g:a:rwx a
[root@localhost ~]# 

24.权限委派

权限委派我们用命令sudo

首先我们要给普通用户(a)设置一个密码123456

[root@localhost ~]# echo 123456 | passwd --stdin a
更改用户 a 的密码 。
passwd:所有的身份验证令牌已经成功更新。

然后在管理员用户输入visudo,在下面这一行并编辑普通用户所能执行的权限,如果是所有权限就是ALL,如果想执行某一个命令, 就在后面跟上想要执行的命令。(我这里是普通用户a,执行所有权限),

## Allow root to run any commands anywhereroot    
ALL=(ALL)       ALL
ALL=(ALL)       ALL

然后su - a切换到普通用户输入刚刚设置的密码,就可以在普通用户进行一切操作啦。(我这里因为登录过,所以不用输入密码,第一次需要输入密码)

[root@localhost ~]# su - a
上一次登录:四 7月  8 15:56:21 CST 2021pts/0 上
[a@localhost ~]$ 

因为是所有权限, 所以不管做什么操作, 都要在前面加上sudo,然后输入密码,这就是权限委派。

[a@localhost ~]$ sudo mkdir lssudo
: /etc/sudoers.d 可被任何人写[sudo] a 的密码:
[a@localhost ~]$ lsasff  ls  shen
[a@localhost ~]$ 

25.软件管理

rpm命令操作及管理

rpm -ivh /path/to/pack_name 安装

rpm -e pack_name 卸载

rpm -qa | grep pack_name 查询

rpm -ql pack_name 列出pack_name安装时安装了哪些文件及文件位置

rpm -qc pack_name 列出pack_name安装后生成的配置文件在哪里

rpm -qd pack_name 帮助文档documentation

rpm -qf /path/to/file_name 查询文件是由哪个包提供的

yum/dnf管理

yum -y install pack_name(此单词就是名字的意思)安装某一个服务

yum -y remove pack_name 卸载某一个服务

yum provides *bin/命令

yum provides /path/to/filename

yum list all | grep pack_name

yum clean all清楚缓存

yum仓库配置

在配置仓库之前我们得挂载

挂载命令:mount /dev/sr0 /mnt

[root@localhost ~]# cat /etc/yum.repos.d/shen.repo 
[BaseOS]
name=baseos
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=appstream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1[
root@localhost ~]# 

26.服务控制得方式

centos6及以前得版本:

ervice SERVICE_NAME start
service SERVICE_NAME stop
service SERVICE_NAME status
service SERVICE_NAME restart
chkconfig --add SEERVICE_NAME
chkconfig SERVICE _NAME on

centos7及以后的版本

systemc start SERVIVCE_NAME
systemc stop SERVIVCE_NAME
systemc status SERVIVCE_NAME
systemc restart SERVIVCE_NAME
systemc enable SERVIVCE_NAME
systemc disable SERVIVCE_NAME

[root@localhost ~]# systemctl start NetworkManager-dispatcher.service 
[root@localhost ~]# systemctl stop NetworkManager-dispatcher.service 
[root@localhost ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service;
 enabled; vendor preset: enabled)   Active: active (running) since 
 三 2021-07-07 09:33:27 CST; 1 day 6h ago    
  Docs: man:NetworkManager(8)
[root@localhost ~]# systemctl restart NetworkManager
[root@localhost ~]# systemctl enable NetworkManager
[root@localhost ~]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.Removed symlink
 /etc/systemd/system/dbus-org.freedesktop.
 NetworkManager.service.Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
[root@localhost ~]# 

27,防火墙放行端口操作

firewall-cmd  --list-port    查询已经放行的端口
firewall-cmd  --list-all      与上面相同,查询已经放行的端口
firewall-cmd  --permanent   --add-port=133/tcp   永久添加端口放行
firewall-cmd  --add-port=133/tcp   临时端口放行
firewall-cmd  --reload  刷新
firewall-cmd  --permanent  --remove-port=133/tcp   永久删除端口
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lfei5120

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值