Linux 常用命令

Linux 常用命令:
命令基本格式:
cmd[options][arguments]

系统命令:
cmd  --help   帮助命令
man cmd       帮助命令
shutdown    关机
-k +5  在5分钟之后关机  message  输出的信息
-h  关机   now  现在关机   21:39  指定时间关机
reboot    重启
date        系统时间
cal         日历   -y   全年日历
su          切换用户   su -diandian 切换到点点用户
passwd    更改用户密码   passwd diandian 
clear    清屏
who    查询有哪些用户登录虚拟机
pkill -KILL -t 将用户移除虚拟机   pkill -KILL -t diandian
uname -a    显示虚拟机的内核版本
logout      注销


常用的文件类型:
- 普通文件
d 目录
l 符号连接
c 字符设备文件
b 块设备文件
s 套接字
p 管道


基本命令:
ls 查看目录    ll   查看所有文件详细信息  -a 查看包括隐藏文件  -al  合并全面2个内容
pwd     显示当前全路径
cd      进入指定目录
mkdir 创建指定名称的目录   -p  创建树形目录  mkdir -p aa/bb/cc
touch   创建指定名称的文件
rmdir 删除指定名称的目录 
cat 查看指定名称文件的内容
file    查看指定名称文件的类型
rm      删除文件或目录     -rf  级联删除
mv 移动文件或目录 
cp 复制文件或目录   cp aa.txt test  将aa.txt复制到test文件目录下
chmod   修改文件权限   chmod 751 aa  // 751:- rwx r-x --x 

文件权限:
r 读权限 4
w 写权限 2
x 执行权限 1

每一个文件的属性信息:
1.文件名称
2.文件最后一次修改的时间
3.文件的长度
4.对于文件而言是硬连接数,对于目录而言是包含的子目录
5.表示文件的拥有者
6.表示文件的组拥有者
7.文件的权限


- rwx r-x r-- 1   root  root 10739  Dec 23 13:31 score
    (7)     (4)  (5)    (6)  (3)     (2)         (1)

对应权限之和:
- 0   x 1   w 2   r 4
--- 0
--x 1
-w- 2
-wx 3
r-- 4
r-x 5
rw- 6
rwx 7

编辑文本命令:
vi: linux系统缺省使用的文本编辑器
i/a/o 输入模式
esc 命令模式
:wq 保存退出
:q! 强制退出
:q 普通退出
Emacs: 用于编辑程序源代码文件的文本编辑器
nano: 在字符界面提供了菜单操作,易用性较好
gedit: GNOME图形环境中的文本编辑器


系统查找命令:
which whereis    locate    find


vi/vim 编辑器的使用:
vi [FileName] 打开指定文档
命令模式下:
/[argument] 查找指定的参数在文档中出现的位置  n 向下继续查找 N 向上查找
10,20s/[argument]/[argument2]/g  在10行到20行之间查找指定的argument参数,并替换成argument2
x 往后删除 X 往前删除   输入数字后按下x   删除【数字】个字符

Linux进程查看命令:
静态: ps -l     ps aux
动态:top


echo:查看变量值
path="$PATH"[text]  在$path变量后面追加内容
read [变量名]  相当于java里的System.in,,输入内容
-p [info]  添加提示信息
-t [time]  增加一个输入限制时间,如果时间内没有输入,则直接跳回命令界面
declare  定义变量类型
默认 String 类型
-i 定义int 类型
-x 让自定义的变量变成环境变量
+x 取消该自定义的环境变量
alias   给命令取别名,也可以给组合命令取别名
unalias 取消别名
history 历史使用过的命令

Linux命令运行的顺序:
1.以相对或绝对路径执行指令 如/bin/ls
2.由alias找到该命令来执行
3.由base内建指令来执行
4.通过$PATH这个变量的顺序找到的第一个命令执行

Linux编写shell的习惯:
1.shell script的功能
2.shell script的作者
3.shell script的版本信息
4.shell script的历史记录

Linux test命令的测试 ( test -e filename ) :
通过 echo $? 来回传查处的boolean结果 0为true 1为false
-e 该文档是否存在
-f 是否存在且为文件
-d 是否存在且为目录
-b 是否存在且为一个 block device 装置
-c 是否存在且为一个 character device 装置
-S 是否存在且为一个 socket 档案
-p 是否存在且为一个 FIFO 档案
-l 是否存在且为一个连结党
-r 是否存在且具有可读权限
-w 是否存在且具有可写权限
-x 是否存在且具有可执行权限
-u 是否存在且具有SUID属性
-g 是否存在且具有SGID属性
-k 是否存在且具有Sticky bit 属性
-s 是否存在且为非空白文件

Linux if elif ... else fi语法:
if [ 条件判断表达式 -o/-a 条件判断表达式 ]; then     //  -o  or  -a and 
条件成立时的相关指令
fi


if [ 条件判断表达式 ]; then
条件成立时的相关指令
elif [ 条件判断表达式 ]; then
条件成立时的相关指令
else
条件成立时的相关指令
fi

Linux case...esac 语法:
case [变量] in
[变量值] )
相关指令 ;;
[变量值] )
相关指令 ;;
* )
相当于switch里的default ;;
esac

Linux while/until 循环语法:
while [条件判断] 
do
相关指令
done


until [条件判断]
do
相关指令
done

Linux for循环语法:
for var in con1 con2 con3 ...
do
相关指令
done


for (( 初始值;条件;循环步骤 ))
do
相关指令
done

Linux 压缩解压:
gzip:
gzip -v [文件名] --压缩该文件
gzip -l [文件名] --查看该压缩文件
gzip -d [文件名] --解压该文件
gzip -9 -c [原文件名] > [压缩文件名] --压缩该文件,并保留源文件

bzip2:
bzip2 -z [文件名] --压缩成后缀名为bz2的文件
bzip2 -d [文件名] --解压后缀名为bz2的文件
bzip2 -9 -c [原文件名] > [压缩文件名] --压缩后缀名为bz2的文件,并保留源文件

zip:
zip [压缩后的文件名字] [原文件名] --将源文件压缩成zip文件
zip -r [压缩后的文件名字] [原目录] --将一个目录下的所有文件压缩成一个zip文件
unzip [需要解压缩的文件名] --将zip格式的压缩文件解压缩


tar:(对文件的归档和释放归档文件)
tar -c [打包后文件名] [原文件名] --创建一个新的归档文件  //相当于压缩
tar -x [打包后文件名] [原文件名] --释放归档文件 //相当于解压
tar -t [打包后文件名] [原文件名] --列出归档文件里的内容 //相当于查看压缩文件内容
tar -z [打包后文件名] [原文件名] --是否同时具有gzip属性
tar -j [打包后文件名] [原文件名] --是否同时具有bzip2属性
tar -v [打包后文件名] [原文件名] --显示详细信息
tar -f [打包后文件名] [原文件名] --表示使用归档文件
例:tar -cvf etc.tar /etc    --创建一个etc.tar归档文件并使用和显示文件信息

rpm:
-qa --查看所有已安装的软件包
-qi [软件名] --查看某个安装包的详细信息
-q  [软件名] --查看某个安装包是否被安装
-qd [软件名] --查看某个安装包的安装文档
-qc [软件名] --查看某个安装包的配置文件
-ql [软件名] --查看某个安装包的安装目录
-qpi [软件名] --查看未安装的安装包信息
-qpl [软件名] --查看某个未安装包的安装目录
-qpd [软件名] --查看某个未安装包的安装文档
-qpc [软件名] --查看某个未安装包的配置文件
-i [软件名]   --安装某个未安装包
-ivh [软件名] --安装未安装包,并显示进度和相关信息
-e [软件名]   --卸载某个已安装包

Linux yum 在线安装:
yum update --升级系统
yum install [安装包名] --安装指定的软件包
yum update [安装包名] --升级指定的软件包
yum remove [安装包名] --移除指定的软件包
yum search [安装包名] --搜索相关的软件包
yum list [安装包名] --列出软件的详细信息

Linux 用户管理:
用户添加:useradd
useradd  [username]
-c --添加备注     例:useradd -c [content] [username]


用户修改:usermod
usermod [username]
-c --修改备注     usermod -c [content] [username]
-l --修改用户名   usermod -l [newUserName] [oldUserName]
-G --添加用户到组 usermod -G [groupName] [userName]


用户删除:userdel
userdel -r [username]   --删除用户并且删除该用户下的目录


用户密码修改:passwd
passwd [username]    --若没有密码则为创建密码
-S [username] --查看该用户密码状态
-l [username] --锁住一个用户的密码
-u [username] --解锁一个用户的密码


用户身份切换:su和sudo
su - [username] --切换用户
sudo : 可以通过当前用户来实现相当于root用户的权限命令,但首先得在
root中 /etc/sudoes的file下有该用户的相关设置,才能访问





群组管理:
群组的添加: groupadd
groupadd [groupname] --添加一个群组


群组的删除: groupdel



群组的修改: groupmod
groupmod -n [newGroupName] [oldGroupName]  --修改一个群组的名字

Linux分区和格式化:
分区:fdisk
-n --添加一个分区
-p --打印分区表
-d --删除一个分区
-q --离开不保存分区
-w --保存分区
-l --查看分区


格式化:mkfs


Linux 挂载:
df -h --查看已挂载的文件系统的信息
mount   --查看挂载信息
mount -a --挂载所有未挂载的文件
mount -t [文件格式] [分区目录] [挂载目录]  --临时挂载
umount [挂载的目录] --取消该目录下的挂载




pvcreate [文件目录] --创建物理卷
pvdisplay --查看物理卷


vgcreate [卷组名称] [文件目录] --创建卷组
vgdisplay --查看卷组


lvcreate -L [逻辑卷大小(200M)] -n [逻辑卷名称] [卷组名称]
lvdisplay --查看逻辑卷



Linux 网络配置:
ifconfig --查看网卡信息
ifconfig [设备名称] down --关闭网卡设备
ifconfig [设备名称] up --启动网卡设备
ifconfig [设备名称] [ip] --修改网卡IP地址


Linux 防火墙:
语法:
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
注意:
不指定表名时,默认指filter表
不指定链名时,默认指表内的所有链
除非设置链的默认策略,否则必须指定匹配条件
选项、类名、控制类型使用大写字母,其余均为小写


数据包常见控制类型:
ACCEPT:允许通过
DROP:直接丢弃,不给出任何回应
REJECT:拒绝通过,必要时会给出提示
LOG:记录日志信息,然后传给下一条规则继续使用


表:
filter、nat、mangle、rwa


Linux iptables命令:
-L --列出所有的规则条目
-n --以数字形式显示地址、端口等
-v --以更详细的方式显示规则信息
-line-number --查看规则时,显示规则的序号


添加新规则:
-A --在链的末尾追加一条规则
-I --在链的开头(或指定序号)插入一条规则

posted @ 2017-05-26 21:47  孙中明  阅读(131)  评论(0编辑  收藏  举报