Linux基础知识4

  • Post author:
  • Post category:linux


Linux基础知识 适合有Linux基础的人群进行复习。 禁止转载!


shell


编程


shell第一行内容格式?

#!/bin/sh,#!/bin/bash,#!/bin/csh,#!/bin/tcsh,#!/bin/ksh等


执行shell脚本的三种方式

(1)为shell脚本直接加上可执行权限再执行,如:

chmod 755 ljh.sh       //为shell脚本直接加上可执行权限

./ljh.sh                         //执行shell脚本ljh.sh

(2)通过sh(或bash等)命令执行shell脚本,如:

sh ./ljh.sh      或   bash ./ljh.sh

(3)通过source命令(或点.命令)执行shell脚本,如:

source ./ljh.sh  或 . ./ljh.sh  (两点之间有个空格且./可省略)


注意:source命令也称为“点命令”,可以用点符号(“.”)代替。



shell的系统变量:$0,、$?、 $#、 $n、 $*等表示的含义



分支结构——test命令;




Shell test命令(Shell [])详解,附带所有选项及说明


test 是 Shell 内置命令,用来检测某个条件是否成立,所以通常和 if 语句一起使用。 test 命令有很多操作符,它可以进行数值、字符串和文件三个方面的检测,大部分 if 语句都依赖 test。



http://c.biancheng.net/view/2742.html


(1)整数:-lt(小于)、-le(小于或者等于)、-gt(大于)、-ge(大于或者等于)

eg1.判断3是否小于4

test 3 -lt 4

echo $?          //返回上次判断的结果,为0

eg2.判断3是否大于4

test 3 -gt 4   或者   [ 3 -gt 4 ]

echo $?          //返回上次判断的结果,为1

(2)字符串:=(等于) 和 !=(不等于)

eg1.判断abc是否等于 abc

x =”abc”

test $x = “ abc ”

echo $?

(3)文件:test -f file ;     test -d file;          test -c file;


test -z  str:  如果字符串str的长度为0,则测试条件为真

test -n  str;  判断字符串是否非空


使用方括号表示测试条件的规则是:

(test命令的等价命令)



方括号两边必须有空格

eg1. 判断$SUM是不是在10和20之间

[ “$SUM” -gt 10 -a “$SUM” -lt 20 ]


set 命令:




Linux set命令 | 菜鸟教程


Linux set命令 Linux 命令大全 Linux set命令用于设置shell。 set指令能设置所使用shell的执行方式,可依照不同的需求来做设置。 语法set [+-abCdefhHklmnpPtuvx] 参数说明: -a 标示已修改的变量,以供输出至环境变量。 -b 使被中止的后台程序立刻回报执行状态。 -C 转向所产生的文件无法覆盖已存在的文件。 -d Shell预设会用杂凑表记忆使用过的指令,以加速指令..



https://www.runoob.com/linux/linux-comm-set.html



设置参数值;

语法格式: set [+-abCdefhHklmnpPtuvx]


shell中单引号、双引号、倒引号



单引号:将单引号里面的内容一模一样的输出。

强引用类型



双引号:将双引号里面的内容输出,但对$等特殊字符特殊处理。

弱引用类型

倒引号:用命令结果代替命令本身,然后用来操作。

eg.

#! /bin/bash

describe=”this is a demo”

#单引号输出,特殊字符不处理

echo ‘I want to say $describe,\t  current path: `pwd`’

#双引号输出,特殊字符处理

echo “I want to say $describe,\t  current path: `pwd`”

执行结果:



分支结构——if语句、 for语句


注意要用fi 收尾


for … do … done


利用shift访问参数变量

变量左移,$1变为原来$1的右侧的变量。



echo命令—提示用户 : echo -ne


参数n代表输出完毕不换行,e代表支持转义字符


read命令—接受用户输入




Linux read 命令 | 菜鸟教程


Linux read 命令 Linux 命令大全 Linux read命令用于从标准输入读取数值。 read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。 语法read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [na..



https://www.runoob.com/linux/linux-comm-read.html



eg. 将用户的输入信息的前8个字符读入给str

read -n 8 –p  “Please input some words:” str

# 显示  Please input some words: happy birthday

echo $str

# 显示str  happy bi


Linux


网络基本配置与网络安全



Linux网络配置文件







/


etc


/network/interfaces:



设置网卡信息


/


etc


/


resolv.conf






设置




DNS




配置文件


网络配置命令:


ifconfig、route命令设置网卡IP地址和网关


关闭/激活网卡eth0命令:

ifconfig  eth0  down/up


主机访问控制文件


hosts.deny





hosts.allow


中添加相关规则



Linux系统下防火墙ufw的关闭、使能与端口开放/关闭命令


ufw enable


ufw disable


ufw allow或deny 端口号



重新启动某个服务的命令(例如ftp服务器)   三种方法:


service  vsftpd  restart


或      /etc/init.d/vsftpd restart


或      systemctl  restart vsftpd


Web


、Ftp、Samba与NFS服务器配置



软件包在线安装命令:


apt-get install apache2 或


apt-get install vsftpd 或


apt-get install nfs


启动、停止、重启ftp服务、Web服务(apache2)的命令?


ftp服务:  vsftpd

/etc/init.d/vsftpd

start

或 service apache2

start

或 systemctl

start

apache2

/etc/init.d/apache2

stop

或 service apache2

stop

或 systemctl

stop

apache2

/etc/init.d/apache2

restart

或 service apache2

restart

或 systemctl

restart

apache2


Web服务(apache2)服务:  vsftpd

/etc/init.d/apache2

start

或 service apache2

start

或 systemctl

start

apache2

/etc/init.d/apache2

stop

或 service apache2

stop

或 systemctl

stop

apache2

/etc/init.d/apache2

restart

或 service apache2

restart

或 systemctl

restart

apache2


安全性地实现远程连接的服务器:

Openssh


特定用户名+密码格式,以命令方式访问ftp服务器:

ftp   abc:123456@10.64.131.110



版权声明:本文为Beatrice_lovely原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。