linux基础命令
基本命令和常识
cal 日历命令
cal [month] [year]
bc 计算命令 'quit' 退出 +-*/^
date 时间命令 +%Y%M%D 格式
shutdown 系统关机 -h 20:30 八点三十自动关机
/**去掉烦人的嘟嘟声音*/
setterm -blength 0
setterm -bfreq 10
/**查看用户组 在 etc/group 文件里
r=可读 w=可写 x=可执行
第一组 档案拥有者
第二组 群组
第三组 其他人的属性
前面为 - 是文件
d 是目录
l 是链接档
b 装置文件可供贮存的接口设备
c 表示为装置文件里的串行接口文件 如 键盘鼠标等
r=4 w=2 x=1 -[rwx][rwx][---] = 770 or -rw-r-xr-x = 655
# man / info 查询一个命令的手册(属性)
文件属性
# chown user files 将一个文件改变所属作者
# chgrp group files 改变文件所属的组
# chmod 改变文件的属性
# umask 拿到属性 如: umask 022 就拿掉 -rwxr-xr-x 组和其他用户的w属性
# touch 将文件属性 修改成 umask 所设定的目录属性
# ls 看 mv 移动 rm 删除 cp 拷贝 文件
查看文件和路径等
# basename 获取文件路径中的文件名
# dirname 获取文件路径中的路径目录
# cat 第一行查看文件内容
# tac 最后一行查看
# more 一页一页查看内容
# less 分页查看内容 比more高级
# head 只看前几行
# tail 只看尾巴几行
# nl 显示同时输出行号
# od 二进制读取内容
搜索/位置
# which 查看可执行文件的文件位置
# whereis 查看档案的位置
# find 查找文件内的关键字
# file 查看文件类型
账号管理#/etc/passwd 存放管理员和用户文件
#/etc/shadow 存放管理密码
#/etc/group 存放群组
#/etc/gshadow 存放群组密码
# groupadd [-g GID] groupname 添加群组 -g 自行设置group id
# groupdel 删除群组
# useradd [-u UID][-g GID][-d HOME] [-m M] [-s shell] username 添加用户
# userdel 删除用户
# chsh [-l 列表] [-s 设置新shell] 改变自己的shell
# passwd 修改用户密码
# su 转换身份
# sudo [-u uname]转换身份执行相关的命令
# id [username] 用户的群组等信息
# finger [username] 获取用户信息
# groups [username] 获取用户群组信息
解压缩命令
# gzip [(-1=>-9)压缩比-1最差-9最好默认-6][-d 解压缩][filename] 压缩文件
# zcar 查看 gzip命令 压缩的 .gz文件
# bzip2 [-z 压缩][-d 解压] 压缩bz2 文件
# bzcat 查看bz2压缩文件
/**
# tar [-zxcvfpP ] filename 很常用的压缩
-z 查看是否含有 gzip指令
-x 解开一个压缩文件指令
-t 查看tar压缩文件的档案
-c 建立一个压缩文件
-v 解压过程中显示过程
-f 使用档名 就是放在其他参数的最后面
-p 使用原文档的原属性
-P 可以使用绝对路径
--exclude FILE 在压缩过过程中 不让FILE打包
-N 比后面的日期还要心的才会被打包 (yyyy/mm/dd)
# cpio 备份文件用
shell
# alias bname = 'ls -l' 设定别名
# echo 显示变量内容
# env 显示系统中主要设置的系统变量
# set 显示目前系统中全部的变量内容
# export -[fnp][变量名][值] f=写入n=删除p=显示列表 设置或显示本次环境变量
# unset 删除设置的变���
# array bl[索引]=1 echo ${bl[索引]} 数组命令
# $RANDOM 每次都会出现随机数的变量
# eval 变量的迭代作用 如:a=1 b=a eval echo \$$b 如果不用eval则输出b OR 1
# history 显示历史命令 历史命令存在 ~/bash_history 文件中
# /etc/profime 系统预定设置参数
# ls > ls.txt 重导项,将输出的命令导入到文件中
导入有三种情况
标准输入 代码0 ; 标准输出 代码1 1> ; 错误输出 代码2 2> ">>" 则是追加
# last 本月所登陆系统的用户列表
# | 管道命令 仅能处理前面的一条正确命令
例子: last | grep root | wc -l (筛选root,并计算上一步行数)
# cut [-d接分割字符][-c第几个字符][-f第几个区块] 将同一样命令进行分解
# sort [-t分隔符][+起始 -结束][-n数字排序 u相同出现一样 r反向排序]可分类排序
# wc [-l多少行 m多少字符 w多少字] 统计列表数据 配合管道命令使用
# uniq 删除重复的行只显示一个 配合管道命令使用
# tee 如:ls | tee this.txt 可以显示并切保存打文件中的列表 配合管道命令使用
# tr [-d str删除str][-s:去掉重复:]正则替换命令
如:ls|tr:'[a-z]' '[A-Z]'配合管道命令使用
# grep [string] 筛选出string 正则表达式 可单独使用也可 配合管道命令使用
# split [-b以档案大小分 l以行数分] 分割字符串
正则表达式
# grep [-acinv][string&RE] [路径] 正则表达式匹配
-a 将档案以text档案方式搜索数据 -c 计算到搜索字符串的次数 -i 忽略大小写 -n 顺便输出行号 -v 反向选择 及显示 没有[string&RE] 的一行
# diff file1 file2 比较两个文件内��是否有不同并列出
shell script
在shell脚本中 变量赋值=号中间不能有空格 正确: name='vanilla'
# declare [-afirx]定义变量类型 a数组 f方法 i数字 r只读 x自定义透过环境输出变量
# read 对谈式script 就是所谓的让用户输入 yes 或者 no 等的命令
# 脚本附加参数 $1 开始 $0是命令名本身 如: setname a b c
# 脚本判断语句 if
if [ "$a" = "b" ] || [ "$a" = "c" ];then echo ''; elif [];then else fi
# 脚本判断语句 case casc
case $a in one) echo '' ;;
two)
echo ''
;; *) echo 'else' ;; casc
# 脚本循环语句 for (( t1; t2; t3 )) do echo $start done
# 脚本循环语句 while [ "$a" != "100" ] do echo $start done