Linux常用命令

1 查找命令

grep命令 命令是一种强大的文本搜索工具

格式: grep [option] pattern [file] 可使用 —help 查看更多参数。 使用实例:

ps -ef | grep sshd 查找指定 ssh 服务进程

ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除 gerp 本身

grep -n 'hello' a.txt  从文件中查找关键词,并显示行号

find命令

find 命令在目录结构中搜索文件,并对搜索结果执行指定的操作。 使用实例: find . -name "*.log" -ls 在当前目录查找以.log 结尾的文件, 并显示详细信息。 find /root/ -perm 777 查找/root/目录下权限为 777 的文件 find . -size +100M 查找当前目录大于 100M 的文件

Locate命令

locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法 是先建立一个包括系统内所有档案名称及路径的数据库。之后当寻找时就只需查 询这个数据库( /var/lib/locatedb)。 Linux 系统自动创建这个数据库, 默认每天自动更新一次,所以使用 locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用 locate 之前, 先使用 updatedb 命令,手动更新数据库。 yum -y install mlocate 使用实例: locate /etc/sh 搜索 etc 目录下所有以 sh 开头的文件 locate pwd 查找和 pwd 相关的所有文件。

2 用户管理命令

添加普通用户

useradd hadoop # 这个就表示我们创建了一个普通用户

passwd hadoop # 表示我们需要给hadoop这个普通用户分配一个密码,密

切换用户:

su - 用户名

3 用户权限管理命令

Linux常用命令_第1张图片

chmod 777 a.txt #表示给某个文件赋予所有人的所有权限

chmod u-x a.txt #取消a.txt文件,用户“执行”权限

chmod g+x a.txt #添加a.txt文件,组“执行”权限

chown -R hadoop:hadoop a.txt 改变某个文件或者文件夹的所属的用户以及用户组

4 系统服务命令

service iptables status #查看防火墙状态

service iptables stop #关闭防火墙

service --status-all # 查看系统所有的后台服务进程 service sshd status # 查看指定的后台服务进程的状态 service sshd stop service sshd start service sshd restart 配置后台服务进程的开机自启或关闭

chkconfig iptables on #配置防火墙开机开启

chkconfig iptables off #配置防火墙开机关闭 chkconfig httpd on ## 让 httpd 服务开机自启 chkconfig httpd off ## 让 httpd 服务开机不要自启

Linux的Shell编程

Shell 编程一般指 shell 脚本编程。

语法:

使用 vi 编辑器新建一个文件 hello.sh

#!/bin/bash 
 echo "Hello World !" 

执行

方式1:

sh hello.sh

方式2

chmod +x ./hello.sh #使脚本具有执行权限

./hello.sh #执行脚本

 

1变量:

局部变量

#!/bin/bash
str="hello"
echo ${str}world

环境变量

echo $PATH

echo $HOME

2 特殊字符

$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数。
$$ 脚本运行的当前进程 ID 号
$! 后台运行的最后一个进程的 ID 号
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
$? 显示最后命令的退出状态。 0 表示没有错误,其他任何值表明有错误。
#!/bin/bash
echo "第一个参数为: $1";
echo "参数个数为: $#";
echo "传递的参数作为一个字符串显示: $*";

执行: ./test.sh 1 2 3

3 运算符

#!/bin/bash
a=1;
b=2;
echo `expr $a + $b`;
echo  $((a+b));
echo  $[a+b];

4 if语句

#!/bin/bash
read -p "please input your name:" NAME ## read命令用于从控制台读取输入数据
## printf '%s\n' $NAME
if [ $NAME = root ]
    then
        echo "hello ${NAME}, welcome !"
    elif [ $NAME = itcast ]
    then
        echo "hello ${NAME}, welcome !"
    else
        echo "Get out Please!"
fi

5 for语句

方式1:

#!/bin/bash
for N in 1 2 3 
do
    echo $N
done

方式2:

#!/bin/bash
for ((i = 0; i <= 5; i++)) 
 do 
    echo "welcome $i times" 
 done 

6 函数

#!/bin/bash
funWithReturn(){
echo "这个函数会对输入的两个数字进行相加运算..."
echo "输入第一个数字: "
read aNum
echo "输入第二个数字: "
read anotherNum
echo "两个数字分别为 $aNum 和 $anotherNum !"
return $(($aNum+$anotherNum))

funWithReturn
echo "输入的两个数字之和为 $? !"

你可能感兴趣的:(linux,服务器,运维)