1.骨干命令

touch 创制空文件(当然,你也能够采纳echo >filename)

ln 创制链接符号(急迅形式|引用):

  1. 标志链接:ln –s
  2. 硬链接:ln

 

区别:

  1. 标识链接发生了二个赶快方式,是对源文件的三个链接。
  2. 硬链接是底层字节的链接,简而言之,相当于是贰个文书,七个文本名,占用一样块扇区,好处是省空间,就算删除三个,只要还大概有硬连接,这一个文件就依旧存在。

ls –i
查看文件inode编号(独一的,可以确认文件是还是不是为同三个,类似于hash值)

mv 移动|重命名

file 查看文件(文件夹)类型等音信

cat 显示内容 -n:全数行号 ;-b:有字加行号;-T:不展现制表符;

more 按页呈现;比如:cat xxx |more

tail 查看文件结尾;-n
number(或-number):内定最终几行;-f:追踪,能够动态追踪日志文件。

head 与tail类似,可是未有-f参数

ps 进程

top 展现linux进度(Linux版职责管理器)

kill 干掉进度

df 查看硬盘空间

sort 文件内容排序

grep 寻找文本

$BASH_SUBSHELL 子shell检验变量

sleep timeCount(s)

句子结尾加&:后台情势运营

jobs 工作

(command 1;command 2…) 义务列表,能够同期施行

coproc 协程(后台有个子shell,实践你的授命,同偶然间生成一个job)

which 查看命令程序所在地方

history 命令历史记录

  !! 上一个历史命令(省着按进步箭头了)

  !number 第n条历史命令被实行

在 CentOS 上安装 vsftp 服务


1、查看当前 CentOS 服务器是否已安装了 vsftpd 服务:
 rpm -q vsftpd
   如果打印如下类似的信息则表明已安装 vsftpd 服务:
 vsftpd-3.0.2-21.el7.x86_64
   如果未输出任何信息则表明未安装 vsftpd 服务

2、在未安装 vsftpd 服务的情况下执行如下命令安装 vsftp 软件:
 yum -y install vsftpd

3、安装完后重启 vsftpd 服务:
 service vsftpd restart

4、查看 vsftpd 服务是否已运作:
 ps -aux | grep vsftpd

5、打开 /etc/vsftpd/ 目录下的 vsftpd.conf 文件:
 vim /etc/vsftpd/vsftpd.conf
   找到 anonymous_enable=YES 将其改为 anonymous_enable=NO 即不允许匿名登录。
   找到 chroot_local_user=YES 将其改为 chroot_local_user=NO

6、重启 vsftpd 服务:
 service vsftpd restart

7、进入到 /home 目录中并创建 ftp_storage 目录:
 cd /home
 mkdir -p ftp_storage

8、为 ftp_storage 目录设置“可写入”权限,否则无法上传文件:
 chmod o+w /home/ftp_storage/

9、为 vsftpd 服务创建用户,用于连接/访问 FTP 服务:
 useradd -s /sbin/nologin -d /home/ftp_storage/ ftp_user
   其中用户名为:ftp_user,可访问的目录为:/home/ftp_storage/
   如果已存在此用户可以不再创建或换为其它用户名。

10、为用户 ftp_user 设置密码:
 passwd ftp_user
    然后输入新密码

11、用 FTP 客户端软件连接并上传文件试试吧!

12、备注:FTP 的默认端口为 21,端口 21 用于权限认证,实际上文件的传输是采用端口 20 实现的。

选择mysql的-e参数能够实践各个sql的(成立,删除,增,删,改、查)等各样操作

环境

printenv 查看境况变量(env只可以查看全数的全局变量);
本命令匡协助调查看某条变量(无需加欧元符号,echo需求)

set 查看|设置际遇变量

export
四处变量为全局变量,就足以在各个shell中使用了(并不可能使shell的父shell景况变量爆发变化)

unset 删除景况变量

passwd (chpasswd) 密码查看|修改

umask 为文件分配私下认可权限

chmod 退换权限

chown 改造归属权

  

用法

mysql  -uxxx    –pxxx   -e  “mysql 命令”

当然还是能够运用 如下写法

mysql  -e  -uxxx    –pxxx    “mysql 命令”

分区

fdisk 分区;p:展现基本设备音讯;n:new个分区;w:write进设备

mkefs 格式化ext分区;

mke2fs 格式化ext2分区;

mkfs.ext3 格式化ext3分区;

mkfs.ext4 格式化ext4分区;

mkreiserfs 格式化reiserfs分区

jfs_mkfs 格式化jfs分区

mkfs.xfs 格式化xfs分区

mkfs.zfs 格式化zfs分区

mkfs.btrfs 格式化btrfs分区

fsck 检查修复分区
-a:自动检查测验修复;-A:列出fstab中有着分区,并检查实验;-C:展现帮助的文件系统检查评定时的快慢条(ext2、3);-s:八个文件系统依次检查;

LVM
能够加多八个硬盘到叁个卷组(整合为二个大分区也远非难题),能够创立快速照相,镜像。

什么样创建LVM物理卷?使用fdisk
t来改造分区类型(为8e);或选择pvcreate创立,pvdisplay查看创制进程;

vgcreate 创制卷组(为物理卷);举个例子:vgcreate Vol1
/dev/sda1;vgdisplay查看进程

lvcreate 创制逻辑卷;例如:lvcreate –l 100%FREE –n lvtest
Vol1;lvdisplay查看进度

冷艳这样还非常不够!!!还要有文件系统,如ext4的LVM:mkfs.ext4
/dev/Vol1/lvtest。上述创造了一个ext4品种的逻辑卷lvtest。还要手动挂载:mount
/dev/Vol1/lvtest /mnt/my_partation

LVM的一群管理命令:

vgchange 激活和剥夺卷组
vgremove 删除卷组
vgextend 将轮廓卷加到卷组中
vgreduce 从卷组中除去物理卷
lvextend 扩张逻辑卷的轻重
lvreduce 减小逻辑卷的大小

  官方网址博文: 

实施出真知

[root@iZwz99qnmldt4n744noo9gZ ~]# mysql -e "show databases;" -uroot -ppenghui110 >test.txt
[root@iZwz99qnmldt4n744noo9gZ ~]# ls
databases_backup_20170411172702  lnmp1.3-full  lnmp-install.log  test.txt
[root@iZwz99qnmldt4n744noo9gZ ~]# cat test.txt 
Database
information_schema
blog
mysql
performance_schema
question
wordpress
yii2
[root@iZwz99qnmldt4n744noo9gZ ~]# mysql -uroot -ppenghui110  -e "show databases;"  >a.txt
[root@iZwz99qnmldt4n744noo9gZ ~]# cat a.txt 
Database
information_schema
blog
mysql
performance_schema
question
wordpress
yii2

参照文书档案:

2.shell编程

变量是宽松的概念,任何由字母、数字或下划线组成的文本字符串,长度不超越贰10个。客户变量区分轻重缓急写,所以变量
Var1 和变量 var1 是区别的。

shell编制程序最强劲的地点在于能够从console的输出中取回这个输出,并随意动用,一旦那样做,则足以选取shell做任何事情了,只要你能在console中输出它。

如何从shell中得到输出的内容?二种办法:

  1. 反引号符号;
  2. $();

 例如,使用date命令能够输出当前时间,假诺写shell脚本的话,可以因而如下三种写法获取console的date:

1 date=$(date);
2 date=`date`;

字符串假设统一的话,直接种种引号,而无需+可能别的的操作,如:

str1="string1";
str2="string2";
str3=$str1$str2;

输出或援引三个变量,则足以:

echo $str3;

出口重定向:>

在已某个文件中追加内容:>>

输入重定向:<

内联输入重定向:<<

管道:|

实质上,windows console中也补助管道.

比如说,在此以前用more对console的从头到尾的经过张开分页:ls -al |more

既然如此是管道,必然协助广大管道,就算只怕只会用到多少个

shell中计算:expr

例如说总括1+2:

expr 1 + 2
#注意上式的空格,运算符间都是有的
表11-1 expr 命令操作符
arg1 |arg2  如果arg1既不是null也不是0,返回arg1;否则arg2
ARG1 & ARG2 如果没有参数是null或零值,返回 ARG1 ;否则返回 0
< 如果 ARG1 小于 ARG2 ,返回 1 ;否则返回 0
<= 如果 ARG1 小于或等于 ARG2 ,返回 1 ;否则返回 0
= 如果 ARG1 等于 ARG2 ,返回 1 ;否则返回 0
!= 如果 ARG1 不等于 ARG2 ,返回 1 ;否则返回 0
>= 如果 ARG1 大于或等于 ARG2 ,返回 1 ;否则返回 0
> 如果 ARG1 大于 ARG2 ,返回 1 ;否则返回 0
+  
 
*  
/  
%  
STRING : REGEXP 如果 REGEXP 匹配到了 STRING 中的某个模式,返回该模式匹配
match STRING REGEXP 如果 REGEXP 匹配到了 STRING 中的某个模式,返回该模式匹配
substr STRING POS LENGTH 返回起始位置为 POS (从 1 开始计数)、长度为 LENGTH 个字符的子字符串
index STRING CHARS 返回在 STRING 中找到 CHARS 字符串的位置;否则,返回
index STRING CHARS 返回字符串 STRING 的数值长度
+ TOKEN 将 TOKEN 解释成字符串,即使是个关键字
(EXPRESSION) 返回 EXPRESSION 的值

急需小心,尽可能的把运算符号在此之前拉长转义字符,不然很也许会变成expr收到错误!

例如 expr 1 * 2

据此,bash shell为了保持跟Bourne shell的万分而带有了 expr
命令,但它一样也提供了一种更简明方法来推行数学表达式。在bash中,在将一个数学生运动算结果赋给某些变量时,能够用日元符和方括号(
$[ operation ] )将数学表明式围起来。

那样,就极其有益了,依旧1+2,则足以写成:

$[1+2]

而根本无需思考空格的标题~~~

这边必要留意的是,bash
shell本人不支持浮点数运算,所以能够利用别的的点子:

bash计算器:bc;

行使bash须求当心,精度(scale)默以为0,所以要求设置:scale=0

bc本人协助定义变量

 在本子中选择bc:

echo “scale=4;1/2” |bc
# 或
echo “scale=4;print 1/2” |bc

 越来越好的点子是选用内联输入重定向(<<):

#!/bin/bash
var1=10.46
var2=43.67
var3=33.2
var4=71
var5=$(bc << EOF
scale = 4
a1 = ( $var1 * $var2)
b1 = ($var3 * $var4)
a1 + b1
EOF
)
echo The final answer for this mess is $var5

## EOF既是输入的开始,又是输入的结束,所以计算没有问题的

剧本退出命令:

exit exitCode

翻开退出代码:

echo $?

剥离代码意图:

0 命令成功结束
1 一般性未知错误
2 不适合的shell命令
126 命令不可执行
127 没找到命令
128 无效的退出参数
128+x 与Linux信号x相关的严重错误
130 通过Ctrl+C终止的命令
255 正常范围之外的退出状态码

 条件结构:if,then,elif,fi

if command
#注意是command不是condition!
then
  commands
elif command
then
      commands
...
else
  commands
  ...
  if command
  then
    commands
  fi
fi
#或
if command;then
  commands
fi

发表评论

电子邮件地址不会被公开。 必填项已用*标注