----目录文件操作
命令: ls
功能:查看目录文件
原意 list
参数:
-a 查看隐藏文件
-l 查看详细信息
-i 查看I节点
-d 查看目录
mkdir
-p 递归新建目录
pwd 查看当前所在目录
rmdir 删除空目录
cp 复制文件
-r 复制目录
-p 保持目录文件原有属性
rm 删除文件目录
-f 不询问直接删除
-r 删除目录
mv 改名
touch 新建文件
cat 显示文件内容
-n 显示行号
more 分页显示文件内容
less 分面显示 可上下回滚
/ 查找关键字
n NEXT
head 显示文件前十行
-n 5 显示前5行
tail 显示文件后十行
-n 5 显示后5行
-f 动态显示
ln 创建硬链接文件
-s 创建软件链接 当前于快捷方式
*硬链接相当于cp -p +同步更新
*硬链接不能跨分区 不能针对目录
-----目录文件权限操作
chmod 修改文件目录权限
-R 递归修改
r 4
w 2
x 1
ugoa u 所属者 g 所属组 o 其他 a 所有人
例:chmod 777 /temp
chmod u=wrx /temp
chown 改变目录文件所有者
只有root用户可以使用此命令
例:chown 用户名 文件名
useradd 新建用户
useradd 用户名
groupadd 新建用户组
chgrp 改变文件所属组
chgrp 用户组 文件名或目录
umask 查看修改缺省文件目录权限
-S 查看缺省创建权限
------文件搜索操作
find 文件搜索
find 搜索范围 匹配条件
find /etc -name init 精准查找
-name根据文件搜索
-iname 不区分大小字查找文件名
find /etc -name init 模糊查找
*匹配多个字符 ? 匹配单个字符
-size 根据文件大小搜索
+n -n =n
例 find /etc -seze +204800 查找大于100M的文件 100M=102400KB=204800
-user 根据所有者查找
-group 所属组查找
-a 连接符 and
-o 连接符 or
-type 根据文件类型查找
f 文件 d 目录 l 软链接
find 路径 文件名查找 文件名 -exec 要执行的命令 {} \;
find /etc -name init -exec ls -l {} ; 查找后对如果执行ls -l 命令
-inum 根据I节点查找
-amin 时间
-cmin 修改属性
-mmin 修改内容
everyting WIN搜索工具 只支持NTFS分区
locate 在文件资料库中查找文件
locate 文件名
updatedb 更新资料库
tmp 下的文件locate无法查找
-i 不区分大小写查找
which 查找命令所在目录 及 别名
which 命令名
whereis 查找命令所在路径
whereis 命令名
grep 在文件中查找关键字 并显示出来
grep 关键字 文件名
-i 不区分大小写
-v 排除指定字串所在的行
-----帮助命令
man 查看命令的帮助
原意 manual
man 命令名
man 1/5 命令/配置文件名
1 表示命令
5 表示配置文件
whatis 命令名 查看命令是干什么用的
apropos 配置文件名 查看配置文件是什么用的
命令名 --help 查看命令 参数 选项
date 月日小时分年.秒 修改系统时间
help 命令 查看SHELL内置命令
-----用户管理命令
useradd 添加新用户
语法:useradd 用户名
passwd 设置用户密码
语法:passwd 用户名
who
查看当前登陆用户
w
查看用户详细登陆信息
uptime
查看连续运行时间
-----压缩解压命令
.gz
gzip 文件名 压缩文件
gunzip 文件名 解压文件 或 gzip -d 文件名
不保留原文件 不可以压缩目录
tar
-c 打包
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩
例:tar -cvf 打包后的文件名 要打包的目录
tar -cvf ceshi.tar ceshi
tar -zcf ceshi.tar.gz ceshi 打包并压缩
tar 解包
-x 解包
-v 显示详细信息
-f 指定解压文件
-z 解压缩
tar -zxvf ceshi.tar.gz
zip
-r 压缩目录
可以保留原文件
zip bodu.zip bodu
zip -r 压缩后的文件名 要压缩的文件或目录
unzip 解压缩
bzip2
升级的的gzip
-k 产生压缩文件后保留原文件
例 : bzip2 -k boduo 产生boduo.bz2文件
bunzip2 解压缩
-k 保留压缩包
tar -xjf boduo.tar.bz2 解压
tar -cjf boduo 压缩boduo 目录 生成 boduo.tar.bz2
-----网络命令
write
给指定在线用户发信息
Ctrl+d 保存发送
wall
给所有在线用户发信息
wall 发送的内容
ping
-c 指定发送次数
ifconfig
查看或设置网卡信息
ifconfig eth0 192.168.10.11 临时修改地址
mail
接收邮件
last
查看目前和过去登陆过的用户
lastlog
查看用户最后一次登陆信息
-u 查看指定ID用户
traceroute
路由跟踪
netstat
显示网络相关信息
-t TCP协议
-u UDP协议
-l 监听
-r 路由
-n 显示IP地址和端口号
-an 查看所有连接
-rn 查看路由网关列表
-tlun 查看本机开放端口
setup
配置网络信息,图形化的,redhat专有命令
mount
挂载
mount -t 文件系统 设备文件名 挂载点
创建一个空目录 做为挂载点
例:mont -t iso9660 /dev/sr0 /mnt/cdrom 挂载光盘
mont /dev/sr0 /mnt/cdrom
umont卸载挂载点
umnot /dev/sr0
-----关机重启
shutdown [选项] 时间
-h now 马上关机 -h 20:30 晚上20:30 关机
-r now 马上重启
-c 取消前一个关机命令
重启
reboot
init 6
关机
poweroff
init 0
-----系统运行级别
0 关机
1 单用户
2 不完全多用户 不含NFS服务
3 完全多用户
4 未分配
5 图形界面
6 重启
/etc/inittab 定议默认运行级别
id:3:initdefault:
runlevel 查询系统当前运行级别
logout 退出登陆
-----文本编辑器Vim
输入 i a o 插入模式
:set nu 加入行号
:set nonu 取消行号
保存退了 wq
yy复制当前行
p粘贴在当前光标所在行下
P粘贴在当前光标所在行下
dd剪切当前行
nyy 多行复制
4yy 复制4行
R 进行替换模式
/ftp 搜索ftp所在行 n 查找下一个
/set ic 不区分大小写 搜索
:q! 不保存退出
:%s /要替换文本/替换为文本/g 替换文本 /c 询问 /g 不询问
:w 保存修改
:w 另存为的文件名
:wq! 强制保存
:n 到某一行 :1000 到1000行
:u 恢复上步
0 跳到行首
----技巧
:r 文件名 将文件内容导入到当前光标处
:! 系统命令 不退出vim 执行命令
:r ! 命令 把命令执行结果导入到当前编辑的文件中
例 :r ! date 导入当前时间
:map 定议快捷键
例
:map ctrl+v+p I# 按ctrl+p 到行首插入#
:1,4s/^/#/g 1到4行首加#
.vimrc /home/用户名 VIM配置文件 在用户家目录下
-------软件包管理简介
rpm 二进制包 系统默认包
rpm 命名原则
httpd-2.2.15-15.el6.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布的次数
el6.centos 适合的LINUX平台
i686 适合的硬件平吧
rpm rpm包扩展名
rpm包依赖性
树形依懒 a->b->c
环形依懒 a->b->c->a
模块依赖 模块依懒查询网站 www.rpmfind.net
rpm安装
rpm -ivh 包全名
-i 安装
-v 显示详细信息
-h 显示进度
rpm升级
rpm -Uvh 包全名
卸载
rpm -e 包名
rpm查询
rpm -q 包名
-a all所有
rpm -qa 查询所有rpm包
rpm -qa | grep httpd 查询所有有关httpd的包
rpm -qi 包名 查询已安装的详细信息
rpm -qip 包全名 查询未安装的详细信息
rpm -ql 包名 查询包中文件安装的安装位置
vi /etc/sysconfig/network-scripts/ifcfg-eth0 配置网络
ON BOOT=“no” 改为 yes
service network restart 重启网络服务
-----网络YUM源配置
vi /etc/yum.repos.d/CentOS-Base.repo
yum list 查询所有可用软件列表
yum search 关键字 搜索相关软件包
yum -y install 包名 安装相关包
yum -y update 包名 升级软件包 注:如不加包名会升级全部包括内核 导致系统崩溃
yum -y remove 包名 卸载软件包
yum grouplist 查看可用软件组列表
yum groupinstall 软件包组名 安装软件包组
----光盘yum源搭建
挂载光盘
mount /dev/sr0 /mnt/cdrom
修改默认源文件名称
cd /etc/yum.repos.d/
只保留media
修改media中 enabled=1 使其生效
baseurl=file:///mnt/cdrom 光盘挂载绝对地址
/etc/rc.d/init.d/ 保存rpm包安装的 服务
/etc/rc.d/init.d/httpd start 启动服务
service httpd start 启动服务的另一种
/usr/local/软件名 源码包安装位置
------源码包安装
安装C编译器 gcc
源码包保存位置 /usr/local/src
软件包安装位置 /usr/local
du -sh 文件目录名 查看目录大小
./configure 软件配置与检查
./configure --prefix=/usr/local/软件名 定议软件安装路径
make 执行编译
make install 编译安装
webmin
sourceforge.net/projects/webadmin/files/webmin/
-----用户管理
用户信息文件/etc/passwd
字段1 用户名
字段2 密码标志
字段3 UID(用户ID)
0 超级用户
1-499 系统用户(伪用户)
500-65535 普通用户
字段4 GID 用户初始组ID
字段5 用户说明
字段6 家目录
普通用户 /home/用户名/
超级用户 /root/
字段7 登录之后的Shell
影子文件 /etc/shadow
字段1 用户名
字段2 SHA512 加密密码 “!!”或“*”代表没有密码
字段3 密码最后一次修改日期 (使用1970年1月1日作为标准时间每过一天加1)
字段4 时间间隔 多少天后可以改密码
字段5 密码有效期
字段6 密码到期警告时间
字段7 密码到期后的宽限时间
字段8 帐号失效时间
字段9 保留
把时间戳换算成日期
date -d “1970-01-01 16066 days”
把日期换算成时间戳
echo (date --date=“2014/01/06” +%s)/86400+1))
组信息文件 /etc/group 和组密码文件 /etc/gshadow
/etc/group
字段1 组名
字段2 组密码标志
字段3 GID
字段4 组中附加用户
用户的邮箱
/var/spool/mail/用户名
用户模板目录
/etc/skel
—用户管理命令
useradd 用户名 添加一个用户
passwd 用户名 给用户加密码
usermod 修改用户信息
-L 锁定用户
-U 解销用户
chage 修改用户密码状态
chage -d 0 用户名 登陆先修改密码
userdel 删除用户
-r 删除用户同时删除家目录
userdel -r 用户名
su 切换用户
su - 用户名
- 意思是切换用户同时切换用户变量
su - root -c “useradd user3”
使用root身份 执行一次命令
env 查看当前用户信息
id 用户名 查用户ID信息
groupadd 组名 添加一个组
-g 指定组ID
groupmod 组名 修改组
-n 修改组名
groupmod -n 新组名 旧组名
groupdel 组名 删除组
gpasswd 选项 组名
-a 把用户加入到组
gpasswd -a 用户名 组名
-d 把用户从组中删除
--------权限管理。ACL权限
dumpe2fs -h /dev/sda3
查询指定分区详细文件系统信息的命令
-h
getfacle 文件名
查看ACL权限
setfacl 选项 文件名 设定ACL权限
-m 设定ACL权限
-x 删除指定用户或组的ACL权限
-b 删除目录的ACL权限
-d 默认ACL权限
-k
-R 递归ACL权限
setfacl -m u:用户名:rx(权限) /目录名
u: 给用户加ACL权限
g: 给组加ACL权限
m: 修改mask权限 最大有效权限 影响ACL最大权限
递归ACL权限 -R
setfacl -m u:用户名:rx(权限) -R /目录名
-R只能放到 目录前
默认ACL权限 -d
setfacl -m d:u:用户名:rx(权限) -R /目录名
-----文件特殊权限
SetUID 二进制程序才能设定SUID权限
SetGID
Sticky BIT
chmod 4755 文件名 设置执行文件SUID
chmod u+s 文件名
chmod 2755 文件名 设置目录SGID
chmod g+s 文件名
-----shell基础
linux shell 中回车符是$
windows 中回车符是^m$
所在在windows中编写的SHELL脚本需进行格式转换
使用命令:
yum -y install dos2unix
dos2unix 文件名
–历史命令
history
-c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
历史命令默认保存1000条
可以通修改 /etc/profile 中historysize=10000
–命令与文件补全
在bash中 只要在输入命令或文件时 按TAB键就会自动进行补全
–命令别名
alias 别名=原命令名
alias vi=vim
让vi=vim命令
让别名永久生效
vi /root/.bashrc
删除别名
unalias
—bash常用快捷键
ctrl+c 强制终止当前的命令
ctrl+l 清屏
ctrl+u 删除或剪切光标之前的命令
ctrl+y 粘贴ctrl+u 或ctrl+k剪切的内容
ctrl+r 在历史命令中搜索
ctrl+d 退出当前终端
----输入输出重定向
–输出重定向
命令>文件 以覆盖的方式,把命令的正确输出到指定的文件或设备中
命令>>文件 以追加的方式,把命令的正确输出到指定的文件或设备中
错误命令 2>文件 以覆盖的方式,把命令的错误输出到指定的文件或设备中
错误命令 2>>文件 以追加的方式,把命令的错误输出到指定的文件或设备中
*把正确的输出和错误的输出同时保存在文件中
命令 &>>文件 以追加的方式,把正确和错误输出都保存到同一个文件当中
ls &>>/dev/null 无论结果是什么都丢弃不显示
命令>>文件1 2>>文件2 把正确输出和错误输出分别放出两个文件中保存
–输入重定向
wc [选项] [文件名]
-c 统计字节数
-w 统计单词数
-l 统计行数
wc < 文件名 统计文件中字节数 单词数 行数
----多命令顺序执行
; 命令1;命令2 先执行命令1 在 执行命令2
&& 命令1&&命令2 当命令1正确执行 则命令2才会执行 逻辑与
|| 命令1||命令2 当命令1不能正确执行,则命令2才会执行 命令1正确执行,则命令2不会执行 逻辑或
–管道符
| 命令1|命令2 将命令1 的正确输出结果 做为 命令2的操作对象
grep [选项] “搜索内容”
在指定文件中搜索内容
-i 忽略大小写
-n 输出行号
-v 反向查找
–color=auto 搜索出的关键字用颜色显示
例:netstat -an | grep “ESTABLISHED”
只显示 包含 “ESTABLISHED” 内容
—自定议变量
set 查看所有变量
unset 变量名 删除变量
aa=123
aa=${aa}345
—环境变量
export 变量名=变量值
申明环境变量
export 变量名 将已有变量申明为环境变量
env
查询变量
pstree
查看进程树
PATH 系统查找命令的路径
path="$path":
/root(路径) 追加新路径
PS1 定义系统提示符变量
–位置参数变量