Linux基础

命令 && echo yes || echo no

netstat -an # 所有的网络服务

netstat -an | grep "xx"

grep [选项] 搜索内容 # 提取文件中的内容

-i 忽略大小写
-n 输出行号
-v 反向查找

--color=auto 搜索出的关键字用颜色显示


变量分类:

用户自定义变量: 只在当前的shell中生效
aa=123
echo $aa
变量叠加:
aa="$aa"456 aa=${aa}456
echo $aa

变量查看: echo $变量名 set

变量删除: unset 变量名


环境变量: 在当前shell和此shell的所有子shell中生效,如果把环境变量写入相应的配置文件,则会在所有shell中生效

申明变量: export 变量名=变量值

export 变量名 已经存在的本地变量变为环境变量

查看环境变量: env

删除变量: unset 变量名

系统环境变量: 系统查找命令的路径
echo $PATH

PATH变量叠加: PATH="$PATH":/root/sh

系统提示命令变量: PS1

位置参数变量:

$n $0代表命令本身,$1-$9代表第一到第九个参数
$* 命令行中的所有参数,$*把所有参数看成一个整体
$@ 命令行中的所有参数,$@把每个参数区分对待
$# 代表命令行中的所有参数

!/bin/bash

for i in "$*"
do
echo $i
done

for y in "$@"
do
echo $i
done

chmod 755 XXX.sh

预定义变量:

$? 最后一次执行命令的返回状态,0为上一个命令正确执行,非0为上一个命令执行不正确
$$ 当前进程的进程号pid
$! 后台运行的最后一个进程的进程号

!/bin/bash

echo "$$"

find /root -name hello.sh & # & 表示后台运行

echo "$!"

接受键盘输入:
read [选项][变量名]

-p "提示信息": 输出提示信息

-t 秒数:指定等待用户输入时间

-n 字符数:只接受指定的字符数

-s:隐藏输入的数据

#!/bin/bash

read -t 30 -p "Please input your name: " name
echo "Name is $name"

read -s -t 30 -p "Please enter you age: " age
echo -e " "
echo "Age is $age"

read -t 30 -p "Please select your gender[M/F]: " gender
echo -e " "
eho "Sex is $gender"


ls -l list --long
ls -a list --all
ls -lh
ls -ld /etc
ls -i 查询文件i节点
- rw- r-- r--

- 文件类型(- 二进制文件 d 目录 l 软链接文件)

rw- u所有者 r读 w写 e执行

r-- g所属组 r读 w写 e执行

r-- o其他人 r读 w写 e执行

cp -r 源文件夹 目标文件夹 复制文件夹

cp -p 源文件 目标文件 保留源文件属性

less space enter q pageup /service

more

cat

tac

head -n 7 /etc/services
tail -n 5 /etc/services
tail -f /var/log/xdl/vda.log 动态显示文件末尾内容


创建一个用户: useradd user1
创建用户密码: passwd ******

创建一个用户组: groupadd boy


查看默认的文件夹权限:umask -S

umask 023 777-023=754 rwer-er--


file r: cat/more/less/head/tail

w: vim

x: script command


directory r: ls

w: touch/mkdir/rmdir/rm

x: cd

更改文件权限:

chmod 744 file rwer--r--

r w e
4 3 1

chmod a+r,o-r
chmod u+e
chmod g+e

改变用户所有者:(改给user1)
chown user1 file

改变所属组:
chgrp boy file

文件搜索命令:

find 搜索范围 匹配条件

find /etc -name init

find /etc -name *init* # * 通配符

find /etc -name init??? # ?匹配单个字符


find /etc -iname init # -iname不区分大小写


find / -size +204800 -a -size -404800 100M 1个数据块=512byte=0.5k 100m=102400k=204800数据块

-a and

-o or

-type f file direcory link

find / -user user1

find / -group boy

find / -amin 访问时间

find / -cmin 5 # 5min之内,修改过文件属性。 文件属性

find / -mmin 文件内容

find . -inum xxx

locate -i inittab
updatedb # 查看不到/tmp下的文件


which cp


whereis cp


grep 关键字 文件

grep -v ^# 文件 -v 排除指定字符传所在的行 ^# 行首为#的行


man 3 命令 命令

man 5 命令 配置

whatis 命令

apropos 配置文件名称

命令 --help

shell内置命令帮助
help cd
help shell内置命令


who

uptime

w 当前用户登录的详细信息


write user1 给某个已登录的用户发送信息

dsjfhsaj


wall hello 给所有已登录的用户发送信息


ping

ifconfig

mail 用户名

last 用户现在及过去登录的所有信息
lastlog 用户最近登录的信息

traceroute www.baidu.com

netstat 选项 查询网络状态
-t tcp协议
-u udp协议
-l 监听
-r 路由
-n 显示ip地址和端口号

netstat -tlun 查看本机监听的端口

netstat -an 查看本机所有网络连接

netstat -rn 查看本机路由表


redhat: setup 永久生效

service network restart


mount

shutdown -h now
shutdown -c
shutdown -r

reboot
init 6


cat /etc/inittab # 修改系统默认运行级别 命令行界面, 图形化界面

id:3:initdefault: 命令行界面

id:5:initdefault: 图形化界面

或者: init 5

runlevel 查看系统当前运行级别

退出登录命令
logout

原文地址:https://www.cnblogs.com/coxiseed/p/9986442.html