Linux高频操作

Linux快捷键

ctrl + L 清屏
ctrl + U 删除光标前字符 ***
ctrl + K 删除光标后字符
ctrl + A 光标移动行首 ***
ctrl + E 光标移到行末 ***
ctrl + 左右箭头 光标移动到上/下一个单词

ctrl + C 结束当前正在运行的进程
ctrl + Z 将当前正在运行的进程调到后台并挂起它(即暂停执行)
ctrl + B 光标移动到前一个字符
ctrl + F 光标移动到后一个字符

常用命令

1.mkdir /data 新建目录
-p 创建多级目录
2.ls /data/ 显示目录 list
ls -l /data/ 显示目录详细信息
3.cd /data/ change directory
4.pwd 显示当选所在位置 print working directory
5.touch /data/a.txt 创建文件 修改文件的时间戳

6.vi/vim操作: 编辑文件
vi 文件 打开文件
i 插入模式
esc 退出编辑
:wq 保存退出 :q! :x 退出

yy 复制(前面可以加数字)
p 粘贴(前面可以加数字)
dd 删除/剪贴(前面可以加数字)
u 撤销
dG 光标所在行到尾行 删除
G 移动光标到尾行
gg 移动光标到首行

Ctrl + V 批量操作  然后上下左右箭头选择 操作
:set nu 显示行号
:set nonu 隐藏行号

7.cat 显示文件内容
8.cp 文件位置 目的地位置 复制
cp a a.bak 备份文件
9.man 命令名 查看命令的帮助
10.mv 1 2 移动文件
11.rm 删除文件或目录
-r 递归删除
-f 强制删除且不提示
12.find | xargs 查找
-type f(file)或者d(dir)
-name 名字,支持通配符
例 find /root/ -type f -name "*.txt" |xargs ls -l
13.grep 'xxx' 过滤xxx
-v 排除过滤
14.head -2 显示前两行的内容(默认10行)
15.tail -2 显示末尾两行(默认10行)
-f 实时显示文件的更新
16.sed 取某行
-n 取消默认输出
-i 修改文件内容
17.tar 压缩和解压缩
-c 压缩
-x 解压
-v 显示执行明细
-z 是否使用gzip压缩
-f 指定压缩文件的名称
tar zcf /压缩后 /file 压缩
tar tf /压缩包 查看
tar xf /压缩包 解压
z=== gzip
c=== create
f=== file
t===list

常用符号

; 多个命令的分隔符
/ 根目录或路径分隔符

重定向,数据沿箭头方向流动,原来文件内容会被丢弃

追加重定向,在原来文件结尾追加内容
.. 上一级目录
. 当前目录

~ 用户家目录
|管道 通过管道把前一个命令的输出交给后一个命令继续处理。
{} 配合echo打印序列echo {1..10}
PATH 环境变量,所有包含在环境变量里面的路径,都可以直接敲出来执行。
  全局生效/etc/profile 普通用户生效/.bash_profile或者/.bashrc

重定向:在Linux里经常使用,意思是将数据流重新定向。

或1> 标准输出重定向:把流向标准输出的数据重新定位到后边的文件中,文件原本内容被丢弃

或1>> 标准输出追加重定向:把流向标准输出的数据重新定位到后边的文件结尾处,在其尾部添加数据。文件原本内容不会被丢弃
<或<0 标准输入重定向:把源数据流从标准输入重定向到其它文件,覆盖原来数据
<<或<<0 标准输入追加重定向:把源数据流从标准输入重定向到其它文件,不覆盖原来数据,在后面追加
2> 标准错误重定向:把流向标准错误的数据重新定位到后边的文件中,文件原本内容被丢弃
2>> 标准错误追加重定向:把流向标准错误的数据重新定位到后边的文件文件结尾处,在其尾部添加数据。文件原本内容不会被丢弃

标准输入,标准输出,标准错误是Linux内核给每一个进程打开的三个文件,其文件描述符分别为0,1,2
Linux shell中单引号,双引号以及不加引号的区别
单引号:
  可以说是所见即所得,即将单引号内的内容原样输出

双引号:
  把双引号内的内容输出出来,如果内容中有命令,变量等,会先把变量,命令解析出结果,然后在输出最终内容。双引号内命令或变量的写法为命令或变量或$(命令或变量)。

无引号:
  把内容输出出来,可能不会将含有空格的字符串视为一个整体输出,如果内容中有命令,变量等,会先把变量,命令解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要加引号,一般连续的字符串,数字,路径等可以用,不过最好用引号替代之。

Linux软件安装方式

yum安装

# 1.更改安装来源 https://opsx.alibaba.com/mirror 
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 2.yum安装新软件
yum install -y  tree bash-completion  wget vim 

rpm安装

# mount 给 /dev/cdrom 创建一个入口 /mnt/
mount /dev/cdrom /mnt/
cd /mnt/
# ls -l 缩写为ll
ll /mnt/     

# rpm查找软件
ll /mnt/Packages/telnet-0.17-64.el7.x86_64.rpm 

# rpm安装软件
rpm -ivh  /mnt/Packages/bash-completion-2.1-6.el7.noarch.rpm 

# 删除软件 rpm -e 软件名称

注意:
rpm -qa 后面要跟上包的名字才能搜索到
    -qa  = query all
比如,rpm -qa http 搜不到,是因为包的名字叫做 httpd
rpm -qa | grep 是把搜索到的全部包的名字交给 grep 去过滤,只要包含那个字符串就会被显示出来

安装Nginx前提

关闭selinux

cp  /etc/selinux/config  /etc/selinux/config.bak 先备份

# 永久修改SELINUX并显示结果,下次重启服务器生效
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
cat /etc/selinux/config  查看修改结果

# 临时修改SELINUX并显示结果,下次重启服务器生效
setenforce 0  # 修改状态
getenforce    # Permissive 结果正确

关闭防火墙

systemctl 管理服务

#查询防火墙状态 
systemctl status  firewalld.servic

#当前正在运行的防火墙  --- 临时 
systemctl stop firewalld.service(关闭)
systemctl start firewalld.service (打开)


#让防火墙不会开机自启动 --- 永久
systemctl disable firewalld.service(禁止启动)
systemctl enable firewalld.service (自启动)

#is-active  是否正在运行 
#systemctl is-active firewalld.service 
#is-enabled   是否开机自启动 
#systemctl is-enabled firewalld.service 

定时任务

crond 定时任务
crontab -l
    -l  list 查看
crontab -e
    -e  edit 编辑
    -r  delete  删除

# 每两分钟同步一次系统时间  
*/2 * * * *  /usr/sbin/ntpdate ntp1.aliyun.com 
# 修改系统时间
date -s "20180101"
# 同步服务器时间
ntpdate ntp[1-7].aliyun.com

Nginx安装

# 安装nginx
# 下载
wget http://nginx.org/download/nginx-1.12.2.tar.gz
# 解压
tar xf nginx-1.12.2.tar.gz 
cd nginx-1.12.2 

# 安装依赖
yum install pcre-devel  openssl-devel -y 

#编译安装三部曲 :1 ./configure  2 make     3 make install 

# 第一步
./configure --prefix=/application/nginx-1.12.2 --with-http_stub_status_module  --with-http_ssl_module
# 第二步
make
# 第三步
make install

echo $?  # 检查上一条命令的执行结果 返回0 表示正确

#检查语法 
/application/nginx-1.12.2/sbin/nginx  -t

#启动nginx
/application/nginx-1.12.2/sbin/nginx  
/application/nginx-1.12.2/sbin/nginx  -s reload


对比两个文件区别
diff conf/nginx.conf  conf/nginx.conf.default # 没区别

egrep -v "#|^$" /application/nginx-1.12.2/conf/nginx.conf.default >/application/nginx-1.12.2/conf/nginx.conf
worker_processes  1;          
events {
    worker_connections  1024;
}

http {
    include       mime.types;                #媒体类型
    default_type  application/octet-stream;
    sendfile        on;                      #开启高效的传输模式
    keepalive_timeout  65;                   #超时时间
    server {                               #一个server相当于是一个网站 虚拟主机
        listen       80;                   #监听的端口
        server_name  www.etiantian.org;            #网站名字 域名
        location / {
            root   html;                   #根 站点的根目录
            index  index.html index.htm;   #首页文件
        }
    }
}

other

连不上IP解决方案

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network

获取IP

dhcclient

查看网关

ip r

快捷键

esc + . 上个命令最后一个文件

查找目录

which ntpdate

从根下找

find / -type f -name "ntpdate"

显示命令的绝对路径

which ntpdate
/usr/sbin/ntpdate
find / -type f -name "ntpdate"
/etc/sysconfig/ntpdate
/usr/sbin/ntpdate

你可能感兴趣的:(Linux高频操作)