Linux基础
查看服务程序占用了什么的端口的命令
netstat -anp
查看Linux系统都有那些用户
[root@localhost ~]# cat /etc/passwd
cat命令
在Linux系统上,哪个命令可以来查看文件内容
cat 后面加上你需要去查看的文件名称
cat
读取文件内容的命令
-n 显示每一行的行号
Linux下查看磁盘使用情况的命令是
df
df [-h -T ]
在Linux中查看ARP缓存记录的命令
"arp -a "
查看file1文件里的第300-500行的内容
cat file1 | head -n 500 | tail -n +300
Sed -n ‘300,500p’ file1
如何创建软链接
软链接:ln -s httpd.conf confighttp ///httpd.conf是原文件 confighttp是软连接的名称
专门查看后台任务的命令
job -l
搜索文件用什么命令? 格式是怎么样的?
格式:find <指定目录> <指定条件> <指定动作>
whereis:加参数
locate:只加文件名
find:只加文件名
find / -name "string”
查看linux系统版本
lsb_release -a
cat /etc/redhat-release
查看内核版本
cat /proc/version
uname -a
查看系统位数
getconf LONG_BIT
uname -r
whoami:我是谁,显示当前登录的用户
pwd:显示当前你是谁 当前所在的位置
hostname:显示当前机器的主机名
pwd:显示当前你在哪个目录,显示的是绝对路径
data:显示当前系统的时间
mkdir:创建文件夹
su : su - 用户名 切换用户
cd命令
change directory的缩写
更改目录的意思
cd语法
cd 可选参数 文件夹
几个特殊的目录
. 当前的工作目录
.. 上一级的工作目录
- 上一次的工作目录
~ 当前系统登录的用户家目录
ls命令
list 列出文件夹中的内容
ls 语法
ls 可选参数 可选的文件夹对象
-l 详细输出文件夹中的内容
-a 显示隐藏的文件
-h 以人类可阅读的形式,输出文件大小
cp命令
用法:cp [选项]、、、[-T] 原软件 目标文件
-r:递归式复制目录,即复制目录下的所有层级的子目录及文件 -p 复制的时候保持属性不变
-d:复制的时候保持软连接
-a:等于-pdr
-p 等于--preserve=模式,所有权,时间,复制文件是保持原文件的权限,时间属性
-i:--interactive 覆盖前询问提示
案例
1.复制普通文件
cp命令 你想复制哪个文件 复制之后的文件名
2.复制普通文件,且改名,放入到另一个文件夹中
cp mjj.txt ./oldboy/ #复制放入其他文件夹,且改名
3.一次性复制多个文件,放入另一个文件夹中
cp mjj.exe mjj.gif ./mjj/
4.复制整个文件夹,必须加上-r参数
cp -r mjj mjj2
5.复制且保持文件属性不变,-p参数用法
cp -p chaoge.txt chaoge.txt.3
6.拷贝软连接时候,保持链接属性不变-d参数
cp -d link-luffy link-luffy3
su命令
su切换用户
语法
su - 用户名 # 完全的环境变量用户切换
linux重要的配置文件
/dev:存放抽象硬件
/lib:存放系统库文件
/sbin:存放特技二进制文件
/var:存放经常变化的文件 /var/log/:存放日志的目录
/home:普通用户目录
/etc:存放配置文件目录
/boot:存放内核与启动文件
/bin:存放二进制文件(可执行命令)
/usr:存放安装程序(软件默认目录)
/mnt:文件挂载目录
/root:特权用户目录
/opt:大型软件存放目录
Linux重定向符号
> :输出覆盖重定向
>> :输出追加重定向
<或>> :标准输入重定向
案例
1.读取文件内容,且写入到另一个文件中,覆盖写入文件内容
cat douyin.txt > kuaishou.txt
2.追加写入文件内容
cat doyin.txt >> kuaishou.txt
3.重定向写入符号
cat < doyin.txt #吧文件中的数据,发生给cat命令去读取
4.
cut命令
cut [参数] [数值区间] 文件
-b:以字节为单位分割
-n:取消分割多字符,与-b一起用
-c:以字符为耽误
-d:自定义分隔符,默认为tab为分隔符
-f:与-d一起使用,指定显示哪个区域
cut -c 4 alex.txt # 切割字符,切割alex.txt字符里面每一行第四个字符
cut -e 4-6 alex.txt #截取alex.txt文件里面的4到6个字符
cut -c 5,7 alex.txt #截取alex.txt的第五个和第七个的字符
cut -d ":" -f 1(区域范围) alex.txt #指定分隔符,进行截取
cut -d ":" -f 3 alex.txt # 指定第三个区域的内容
cut -d ":" -f -3 alex.txt # 截取开头到第三个区域的内容
find命令
find命令用来在指定目录下查找文件,如何位于参数之前的字符串都将被视为域查找的目录名
如何使用该命令时,不设置如何参数,则find命令将在当前木下查找子目录与文件并将查早到的子目录和文件全部进行显示
语法
find 查找目录和文件,语法
find 路径 -命令参数 {输出形式}
find 处理符号链接 要查找的路径 参数 限定条件 执行动作
参数说明
路径:告诉find在哪儿去找你要的东西
-name :按照文件名字查找,支持*?[]通配符
-group:按照文件的所属组查早
-perm:按照文件的权限查找
-delete:找到文件后进行删除
-type:类型
-d:文件夹
-f:文件
[root@node1 ~]# find / *txt
### 查找/目录下为.txt的文件
[root@node1 ~]# find /opt -maxdepth 2 -name '*.txt'
/opt/a.txt
/opt/a.txt/a.txt
###查找/opt 目录下第二次目录里面后缀名为.txt的文件
[root@node1 ~]# find /opt -maxdepth 1 -name '*.txt'
/opt/a.txt
### 查找/opt 目录下第一次目录里面后缀名为.txt的文件
[root@node1 ~]# find . -name "[0-9]*"
### 查找当前目录里面名字为0-9的文件
[root@node1 ~]# find . -type f -name "[0-9]*"
### 查找文本0-9的
[root@node1 ~]# find . -type d -name "[0-9]*"
### 查找文件加名为0-9的文件夹
[root@node1 ~]# find . -type f -name "[0-9]*" -delete
### 查出前面文本为0-9的文本并删除
[root@node1 ~]# find . -atime -2
###查找两天以内访问过的文件
[root@node1 ~]# find . -atime +2
###查找超过2天内被访问的文件
[root@node1 ~]# find . -atime 2
###查找恰好在2天前被访问过的文件
find反向查找
[root@node1 ~]# find . -maxdepth 1 -type d
.
./.pki
./zabbix.blk
###查找当前目录所有的文件夹
[root@node1 ~]# find . -maxdepth 1 ! -type d
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
./anaconda-ks.cfg
./CentOS-7-x86_64-DVD-2009.iso
./.bash_history
./.mysql_history
./.viminfo
###查找当前目录除了文件夹以外的所有文件
find根据文件大小搜索
[root@node1 ~]# find . -type f -size +200M
###查找当前目录文件超过200M的文件
文件类型
-:普通文件
d:文件夹
b:块设备文件,硬盘,光驱
c:设备文件
s:套接字文件
p:管道文件
|:链接文件
文件压缩打包
[root@node1 ~]# tar -czvf alltmp2.tar.gz ./*
# -c是压缩
# -z是打包
# vf是显示过程
# alltmp.tar是压缩打包的名称
# ./* 是要压缩打包的文件
文件解包
[root@node1 ~]# tar -xzvf .../alltmp2.tar.gz ./*
解压alltmp2.tar.gz文件到./*目录下
# x:解压缩
# z:拆包
# vf是显示过程
查看压缩文件里都有什么内容
[root@node1 ~]# tar -ztvf alltmp2.tar.gz
查看alltmp2.tar.gz文件里都有什么内容
解压压缩包里单个文件
[root@node1 ~]# tar -zxvf alltmp2.tar.gz ./kaixin.txt
将压缩包解压到某个文件里
[root@node1 ~]# tar -zxvf alltmp2.tar.gz -C ./alltmp/
文件权限
r:4 可读
w:2可写
x:1可执行
更改文件权限的命令
chod u+x filename.txt#给文件的user属主添加可执行权限
chmod 0 filename.txt# 取消文件所有的权限
对于文件的读写执行,是如下意思
r:cat more less命令
w:vim写入
x:可以执行如shell等脚本
文件夹的读写执行
r:ls命令,可读
w:文件夹必须
x:可执行
chmod命令
u:文件属主
g:文件属组,其他用户权限
o:其他用户权限
a:所有用户(包含以上三种)
+ 增加权限
- 取消权限
= 第一设定权限
修改属主,修改属组,修该其他人
修改属主对choge.txt文件只有读的权限
chmod 400 chaoge.txt
chmod u=r chaoge.txt
修改属组对chaoge.txt文件只有读取的权限
chmod g=r chaoge.txt
修改其他人对chaoge.txt文件只有读取的权限
chmod 0=r chaoge.txt
chown命令
chown修改文件的属主
[root@li ~]# chown lisi lili #修改文件的属组 将lili文件属主修改为lisi为文件属主
chown :属组 文件#修改文件的用户组
[root@li ~]# chown :lisi lili #修改lili文件的属组 修改为lisi
chown 属主:属组 文件名 #同时修改文件的属主,属组
如果root用户,修改文件的一切信息,lili文件夹以及文件夹中所有的文件,属主修改为root,属组修改为root
[root@li ~]# chown -R root:root lili
隐藏nginx版本号
在nginx的主配置文件里,在http段落中加入server_tokens off;即可
使用curl -I 192.168.1.159:80验证