Centos7 命令总结
隐藏文件: 系统文件 不能乱动
ls -a
ls /
ls -l --long
权限(ugo) 引用计数 所有者 所属组 文件大小 最后修改时间 文件名称
ls -l /
- d l 管道文件 套子接
rw- r-- r--
只有当需要运行的时候 ,是个脚本 才给予执行权限
ls -ld /etc
查看目录本身的详细信息
文件的id号
ls -i /etc
=========
mkdir /tmp/xiaoming
mkdir -p /tmp/japan/boduo
mkdir /tmp/janpan/ce /tmp/janpan/ed
cd /tmp/janpan
cd /etc
pwd 当前目录
rmdir /tmp/janpan/dd 只能删除空目录
rm -rf file
cp /tmp/dd /root
cp -r /tmp/janpan /root -r 复制目录
cp -r /tmp/janpan /root/jap18 复制同时改名
cp /2.txt /a.txt /tmp
cp -p /2.txt /a.txt /tmp 文件时间不会改变
ctrl+l 清屏
mv /tmp/janpan/cj /root 剪切
mv /tmp/janpan/lz /root/ns
mv 23 45
================
touch aa
touch "aa bb"
cat file
cat -n file 行号
tac file
more file q退出 , 回车 一行 , 空格 翻页
less file 搜索 /nologin n 下一个
head -n 7 /etc/passwd head file 默认前10行
tail -n 7 file tail file ..
=================
ln -s /etc/issue /tmp/issue.soft
ln /etc/issue /tmp/issue.hard
硬链接同步更新
=======
文件权限
chmod ugoa +-= rwx file/d
chmod u+x,g+w 2.txt
chmod g=rwx 2.txt
chmod 640 2.txt
chmod 777 /tmp/a a目录下的权限不随之改变
chmod -R 777 /tmp/a 改变目录下的所有权限
改变文件的所有者 只有管理员可以做
chown root ab 更改所有者
什么时候改变
当文件本身所有者有业务出差时 ,交予其他人继续完成
groupadd test 更改组
chgrp test aa
=====================
find 范围 条件 ? 单个字符 * 多个字符
find / -name init?
find / -iname init 忽略大小写
find / -size +204800 大于100M的文件 1数据块 =512字节 0.5k 100m=102400kb=204800
find /home -user cxl 查找所有者为cxl的文件
find / -cmin -5 change 文件属性
find / -amin -5 access 访问时间
find / -mmin -5 modify 文件内容 5分钟以前
find /etc -name init* -a -type f/d/l
find /etc -name inittab -exec ls -l {} \;注意空格
find /etc -name init* -a -type f -ok rm {} \;
-0 或者
ls -i
find . -inum 31531 -exec rm {} \;
=locate 文件资料库
locate inittab 命令未找到
yum -y install mlocate
[ root@localhost tmp]# locate inittab
locate: can not stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录
安装成功了,现在使用 updatedb 命令来创建locate命令依赖的数据库。
[ root@localhost tmp]# updatedb
这样就OK了
/var/lib/mlocate/mlocate.db 定期更新
也可以手动更新
updatedb
touch abc
locate abc 找不到
updatedb
locate abc 找到了
缺点:找不到tmp 下面的文件
locate -i file 不区分大小写
=which 查找命名所在的目录 别名
which ls/mkdir
=whereis 路径 、 手册
whereis ls / rm
=grep -iv 字符串 目录 【 -i 不区分大小写 -v 排除指定字符串】
grep -i mysql /install.log
grep -v ^# /etc/inittab
===================================
帮助命令
man ls
man rm
/abc 搜索 q enter 一行 空格 /翻页
man passwd 1 命令的帮助 5 配置文件的帮助
whereis passwd
man passwd
whatis ls
apropos /etc/inittab
touch --help
ls --help
rm --help
help umask
============
用户管理
useradd yangmi
passwd yangmmi
who
w tty 本地终端 pts 远程终端
uptime
============
压缩
gzip abc abc.gz
gunzip abc.gz
只可以压缩文件 不可以压缩目录
tar 打包 目录
tar -cvf janpan.tar janpan
gzip janpan.tar =>janpan.tar.gz
---------
tar -zcvf janpan.tar.gz janpan 压缩 z 压缩
tar -zxvf janpan.tar.gz 解压 z 解压 x 解包
---------
zip
yum install zip
zip abc.zip abc
zip -r janpan.zip janpan
unzip abc.zip
------
bzip2 -k abc 保留源文件
tar -cjf janpan.tar.bz2 janpan
bunzip2 -k abc.bz2
tar -xjf janpan.tar.bz2
==========================
网络命令
wirte cxl
wall lingzhliing you l
ip addr eno16777736 192.168.124.127
last
lastlog
traceroute www.sina.com.cn
netstat -tlun 查看本机已开启了哪些端口
tcp 可以接受访问 所以有监听
netstat -an 查看正在连接的程序
netstat -rn 查看本机路由表
挂载光盘
设置 设备状态 已连接 要打勾 不然连接不通
dev/cdrom
mkdir /mnt/cdrom
mount -t iso9660 /dev/sr0 /mnt/cdrom
cd /mnt/cdrom
umount /dev/cdrom 卸载
============================
vim
命令模式
set nu
a :在光标所在字符后插入
A :在光标所在行尾插入
i :在光标所在字符前插入
I :在光标所在行行首插入
o :在光标下插入新行
O :在光标上插入新行
:set nu 设置行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行
$ :行尾
0 :行首
x:删除光标所在处字符
nx:删除光标所在处后n个字符
dd:删除光标所在行
dG:删除光标所在行到文件末尾内容
D:删除光标所在处到行尾内容
:n1,n2d ps: :3,5d 删除3到5行
yy 复制当前行
nyy 复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p 、P 粘贴在当前光标所在行下或行上
r :替换
R :替换
u :取消
:set ic 忽略大小写
/string 搜索
n 搜索指定字符串的下一个出现的位置
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串
:%s/old/new/c 会询问是否替换
w 保存修改
wq 保存退出
ZZ 保存退出
q! 不保存退出
wq! 保存退出
:r !命令 在光标所在处下面导入执行结果
:n1,n2s/^/#/g 替换
:n1,n2s/^#//g
:n1,n2s/^/\/\//g
替换 在做编辑的时候 把长的文字用别名表示,输入后又会变为原来的内容
ab my cxlhk772@163.com
==================================
软件包
源码包 脚本安装包
二进制包 (rpm,系统默认包)
rpm
rpm -ivh file 安装
rpm -ivh 包全名 安装
rpm -Uvh 包全名 升级
rpm -e 包名 卸载
rpm -q 包名 查询包
rpm -qa 查询所有包
rpm -qi 包名 包的详细信息
rpm -qip 包全名 查看未安装包的信息
rpm -ql 包名 查看安装路径
==========
yum list 查询所有可用软件包
yum search 关键字
yum -y install 包名 包全名概念只在rpm中存在
yum -y install gcc c语言编辑器 所有源码包都需要c的支持
yum -y update 包名 升级
yum -y remove 包名 卸载
yum -y update 升级所有 包括内核 危险 慎用
yum grouplist 列出所有可用的软件组列表
yum groupinstall 软件组名
yum groupremove 软件组名
==本地光盘yum搭建
测试
yum list ==>c6
==
rpm -q httpd
rpm -ql httpd
源码安装
httpd-2.4.12
du -sh httpd-2.4.12
下载httpd-2.4.12.tar.gz
安装httpd ?
========================
7. 用户 用户组
普通用户变成管理员,只需要在/etc/passwd把第3个字段改为0即可!
用户密码存放在/etc/shadow中
普通用户的id在500到65535之间
shadow
/etc/shadow
/etc/group 组信息
默认创建用户的时候 组名跟用户名一样的
/etc/gshadow
组中 会有组长 给组长一个密码 来管理其他人
windows是把用户添加到管理员组 是改了组id
/var/spool/mail/用户名/ 只是客户端 没有服务器
/etc/skel 如果在此文件下创建文件 则每次增加用户时 都会生成该文件
ps: skel / a b
useradd trr
cd /home
a b
==========
grep sc /etc/passwd
grep sc /etc/shadow
grep sc /etc/group
grep sc /etc/gshadow
加密成功
/etc/shadow 密码前会有!
解锁成功 会消失 即可登陆
删除用户
userdel ttr
groupadd -g gid test
groupmod -g gid -n newg oldg
groupdel 组名
删除主组时,先删除用户 userdel -r user groupdel tg
gpasswd -a user1 tg
gpasswd -d lamp1 tg
gpasswd 操作的是附加用户
============================
10 . shell
history
alias 别名='xx'
unalias 别名
输出重定向
ls > ab 覆盖
ls >> ab 追加
lst 2>>ab 错误命令输出
ls >> bc 2>&1
datag &>>bc
ls &>/dev/null
ls >> de 2>>ef 正确命令输出到de 错误输出到ef
==wc
-c 统计字节 -w 统计单词数 -l 统计行数
wc <anaconda-ks.cfg
60 130 1531
60 行 130单词 1531字符