Linux 常用命令整理

linux根目录文件说明

/boot     l    inux启动时需要的文件
/dev         设备文件
/etc        配置文件
/home        用户家目录
/media        媒体文件
/mnt         挂载文件
/opt        第三方软件
/proc        虚拟化文件
/root        管理员的家目录
/run        进程文件
/srv        压缩过的文件
/sys        系统文件
/usr        安装的软件,可以共享
/var        可变数据,日志文件
/tmp        临时文件
/usr/bin    普通用户可以使用的文件夹
/usr/sbin    超级用户可以使用的文件夹
/usr/lib    32位库文件
/usr/lib64    64位库文件

修改selinux

/etc/selinux/config


   SELINUX=enforcing    #这个会严格
   #SELINUX=disabled    #这个会宽松

文件属性参数意义(三个权限之前的那个位置)

d         目录
-        文件
l        软链接文件(类似win的快捷方式)
b        设备文件,提供储存的接口设备
c        设备文件,提供串行接口设备--键盘,鼠标

查看目前系统内存在的服务

当不清楚某个服务的具体服务名的时候可以使用

systemctl list-dependencies

xshell内:

ctrl+a  光标到本行开头
ctrl+e  光标到本行结尾
ctrl+u  删除光标所在之前的字符
ctrl+k  删除光标所在之后的字符

linux


ls -lh 查看当前目录下的文件的大小  单位是尽量大的单位
ls -dl 在文件夹内查看这个文件夹的信息
ls -l  /etc  看etx下的文件列表

文件处理命令


递归创建      mkdir -p /dirname/name1/name2
复制目录    cp -r /home /usr/
移动目录    mv -r /home /usr/
删除目录    rm -rf /home

警告

普通账户删除自己创建的文件 不会提示任何东西,会直接删掉文件  
但是root账户 会提示"真的要删除吗?"

cat 命令

tac 倒序显示文档

tac  倒序显示文档

cat -b 出现行号
cat -n 出现行号,空白行也会显示出来

cat -A 显示 tab、回车、看不出来的字符

cat -T 将tab按键用^T显示
cat -E 用$显示出回车
cat -v 列出看不出来的字符

less

less /usr/local/php/etc/php.ini
空格 = 下一页
回车 = 下一行
v  进入编辑模式
:q退出
/this  向下搜索关键字 this
?this  想上搜索关键字 this

查看文件的最前面 最后面N行 日志文件.log

hrad -n 20 nginx_error.log  查看文件的最前20行
tail -n 20 nginx_error.log  查看文件的最后20行

wc

wc php.ini  行 空格数 行
43行,空白字数,2280字节

-c 只显示字节
-w 只显示字数(空白子,空格字,分隔字)
-l 只显示行

vim编辑器

a当前后面一个进入
A当前行末尾进入
O,P当前上一行进入
o,p当前下一行进入
i当前插入

esc退出
u撤销
x删除
v(可视模式)选择文本
y复制
yy复制当前行
dd删除光标行
p粘贴

软连接

可以对不存在的文件创建软连接
文件和目录的都可以创建软连接
删除了软链接,不会影响这个文件的根本文件(删除快捷方式,不会影响应用本身)
删除了根本文件,这个链接就成了死链接(删除了应用本身,快捷方式也就没有用了)
死链接会变变成红色,快捷方式存在,但是链接不到文件本身
可以直接创建一个死链接(没有意义)

带了-s就是软连接
ln -s old  new

硬链接

硬链接就是复制N个文件,有同样的inode编号.

任何人修改了任何一个文件,其他的N个文件都被修改.

删掉了一个硬链接文件,其他的兄弟文件不受影响.

不可以对目录进行硬链接
只能对已存在的文件进行硬链接
删掉了一个硬链接文件,其他的不受到影响

ls -l 会列出文件的详情,再加-i会列出inode编号 , 也会列出硬链接的数量 


link     old new  
ln      1.txt  2.txt

#可以获取所有相同inode编号的文件 也就是硬链接的文件
find / -inum 1061292

关机操作

数据同步写入磁盘  直接执行 sync
shutdown 
-t 几秒后关机
-k 不是真的关机,发出警告
-r 在系统服务都停止以后,重启电脑
-h 在系统服务都停止后,关机
-f 关机并且开机之后,强制略过磁盘检查    (硬盘可能有坏道的情况会用到这个命令,有坏道会开不了机)
-F 重启之后,必须进行磁盘检查            
-c  取消已经在进行中的 shutdown 指令    

shutdown -h now  现在关机
shutdown -h 12:00   12点关机
shutdown -h +10 十分钟后关机
shutdown -r now 马上重启
shutdown -r +30 '要重启了'      三十分钟后发送一个警告信息
shutdown -k now '要重启了'   马上发送一个警告信息

reboot 重启linux

帮助命令

man ls

查看linux 系统版本号

cat /etc/redhat-release

CentOS 7.0默认使用的是firewall作为防火墙, 使用systemctl来管理服务和程序,包括了service和chkconfig

1、查看默认防火墙状态(关闭后显示not running,开启后显示running)

[root@localhost ~]# firewall-cmd --state
not running

2、检查防火墙的状态

[root@localhost ~]# systemctl list-unit-files|grep firewalld.service
firewalld.service                             disabled

或者:

[root@localhost ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)                 --表示防火墙已经关闭
  Docs: man:firewalld(1)

3、开启防火墙

[root@localhost ~]#systemctl start firewalld.service       --启动firewall
[root@localhost ~]# systemctl enable firewalld.service     --开机时启动firewall
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.

4、关闭防火墙:

[root@localhost ~]#systemctl stop firewalld.service            --停止firewall
[root@localhost ~]# systemctl disable firewalld.service        --禁止firewall开机启动
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

5、重启防火墙

[root@localhost ~]# systemctl restart firewalld.service

6、查看防火墙是否开机自启

[root@localhost ~]# systemctl is-enabled firewalld.service;echo $?
enabled             --自启
0
或者:
[root@localhost ~]# systemctl is-enabled firewalld.service;echo $?
disabled                --不自启

7、查看已启动的服务列表

[root@localhost ~]# systemctl list-unit-files|grep enabled
auditd.service                                      enabled 
autovt@.service                                     enabled 
avahi-daemon.service                                enabled 
crond.service                                       enabled

8、开启端口

[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效




 1 firewall-cmd --state                           ##查看防火墙状态,是否是running
 2 firewall-cmd --reload                          ##重新载入配置,比如添加规则之后,需要执行此命令
 3 firewall-cmd --get-zones                       ##列出支持的zone
 4 firewall-cmd --get-services                    ##列出支持的服务,在列表中的服务是放行的
 5 firewall-cmd --query-service ftp               ##查看ftp服务是否支持,返回yes或者no
 6 firewall-cmd --add-service=ftp                 ##临时开放ftp服务
 7 firewall-cmd --add-service=ftp --permanent     ##永久开放ftp服务
 8 firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服务
 9 firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
10 firewall-cmd --remove-port=80/tcp --permanent  ##永久移除80端口
11 firewall-cmd --list-ports                      ##查看已经开放的端口
12 iptables -L -n                                 ##查看规则,这个命令是和iptables的相同的
13 man firewall-cmd

9、查看已经开放的端口

[root@localhost ~]# firewall-cmd --list-port
80/tcp

10、屏蔽FirewallD服务

[root@localhost ~]#systemctl mask firewalld
还可以通过创建一个firewall.service到/dev/null的符号连接来屏蔽防火墙服务。

11、反屏蔽FirewallD服务

[root@localhost ~]#systemctl unmask firewalld

这是反屏蔽FirewallD服务,它会移除屏蔽FirewallD服务时创建的符号链接,故能重新启用服务。

12、检查是否已安装防火墙

[root@localhost ~]#yum install firewalld firewall-config

13、下面说下CentOS7和6的默认防火墙的区别

CentOS 7默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

1、直接关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

2、设置 iptables service

yum -y install iptables-services

3、如果要修改防火墙配置,如增加防火墙端口3306

vi /etc/sysconfig/iptables 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

4、最后重启系统使设置生效即可

systemctl start iptables.service #打开防火墙
systemctl stop iptables.service #关闭防火墙

#永久移除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#检查端口是否开启

#centos7以下使用netstat -ant,7使用ss;80替换为想要检查的端口
ss -ant | grep 80

ifconfig未找到

yum -y install net-tools

资料来源


后盾人教学文档:http://houdunren.gitee.io/note/linux/1%20install.html
命令大全手册:https://www.linuxcool.com/?tdsourcetag=s_pctim_aiomsg
命令搜索引擎:https://wangchujiang.com/linux-command/

results matching ""

    No results matching ""