第一周干活总结
容易忘记的两个单词(好尴尬)
client客户端
server服务器
分区
Linux同样需要分区
1.系统分区:启动操作OS的分区
2.启动分区:安装OS的分区
3.活动分区:一个硬盘有多个主分区,只有 一个是活动分区
主分区:一个硬盘最多分4份
1.扩展分区:一个硬盘最多一个,加主分区最多4个,不能创建NTFS、fat
2.逻辑分区:可以创建文件系统
分配盘符:E:或c:\E 在Linux中为mount :挂载
例,将E盘挂载到C盘,C为挂载点….
硬盘的分区表示法
centos6之后:
/dev/sda
/dev/sdb
/dev/sdc
/dev/vda→表示虚拟硬盘
目录简介
一级目录:
/bin 全拼binary,二进制程序文件目录(普通用户用的程序)
/dev 硬件设备文件目录
/boot 启动相关的文件
/etc 系统配置
/lib 共享库
/mnt 手动挂载点
/opt 第三方应用程序软件包
/sbin 管理员用的程序
/srv 服务用的数据
/tmp 临时数据
/usr 第二层目录结构
/var 可变数据,比如日志log
文件颜色简述
绿色:可以执行程序
蓝色:目录
红色:打包文件
浅蓝色:链接文件、快捷方式
(vim /etc/DIR_COLORS 各种文件不同类型颜色的设置,可修改)
系统时钟和硬件时钟
- date 查看系统时间
date 月日小时分年.秒 的格式设置时间
- clock 查看硬件时间
-w 将硬件时间校准为系统时间clock变date
-s 将系统时间校准为硬件时间date变clock
- timedatectl status 查询当前时区信息(centos7)
- tzselect 查询centos6的时区(centos6)
- cal 日历
- ntpdate ip在桥接模式下,与桥接ip时间同步
- meta data 元数据
- ctime 元数据修改时间
- atime 访问时间
- mtime 修改时间
- stat / 可以看文件的三个时间戳信息和其他信息
某些基本符号
- 单引号:什么都不识别
- 双引号:识别一些命令
- 反向单引号:什么都识别
- / 代表根目录
- ~ 代表家目录
- . 代表当前目录
查询类命令
- free 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区
strace free 查询syetem call (系统调用)
ltrace free 查看library
- uname -r 查看内核
- fdisk -l 磁盘分区
- ifconfig 查看IP
- df 查看挂载情况和相关信息
df -h 看起来更方便的详细信息
lsblk 同上,但较为直观
- runlevel 查询模式切换状态
- tree -L 1 显示第一层文件夹列表
-d 只显示文件夹
- enable 默认显示所有内部命令(其实是禁用/启用某个内部命令的命令)
例如:enable -n type 禁用type命令
- help 查看所有内部命令说明,其中前面带*的是被禁用的命令
- type +命令 可好看是否为内部命令;内部命令是集成在bash内,没有路径
- which -a +命令 显示该命令所有存在的路径,单which 同type一样
- which –skip-alias +命令 只显示路径
- cat 看文本文件内容,不包含二进制文件
cat /etc/shells 查询所有shell类型
cat .bashrc 别名放在.bashrc中,仅适用于当前用户!
cat /etc/centos-release 查看OS的发行版本
cat /proc/meminfo 查看内存
- hexdump -c 查看文件内容,包括二进制文件
- tty 可查切换至f几
- who 查询所有登录用户,没有IP的则为远程登录
- whoami 当前用户名
- who am i分开可查询当前具体用户信息
- whatis 查看外部命令说明
- w 查询谁在登录、正在做什么
- echo 打印当前字符串或者变量的内容
echo $SHELL 打印当前变量的内容
echo $PS1 (数字1)查询当前格式符的提示定义
例: [\u@\h \w]\$
PS1=”\[\e[1;5;41;33m\][\u@\h \w]\\$\[\e[0m\]”
1为加粗;5为闪烁;41为背景颜色;32、33为字体颜色
echo $PATH 打印外部命令读取路径顺序(所有外部命令都在这里)
echo “hello” 打印一遍字符串
echo $OLDPWD 显示上次进入的路径
OLDPWD 是变量 ,可以修改,并且echo $OLDPWD生效
- ls 列出当前文件的目录列表
ls -a 列出包括隐藏文件的所有文件目录列表
ls -i 查看文件或文件夹的节点编号,df -i 也是查询节点编号有关信息的
ls f[[:upper:]] 列出所有f+一个大写字母的文件,lower代表小写
lsblk 块设备情况
ll f1 查询f1文件大小 是ls的别名
ll !* 其中!*代表引用上一个使用的命令的所有后面的参数
- du 显示当前路径所有文件大小
du -sh /* 显示最大的文件
- pwd 查询当前所在的完整路径
pwd -p 显示当前的真实路径(例如针对软链接路径显示问题)
pwd 变量,可修改,实质是修改了显示的提示符
- id -u 查看是非为管理员身份(0)
id -u chenjia 也可查看用户id
- whereis 显示命令路径和文档路径,比which全面一些
- ldd 查询命令所调用的库文件
- 别名命令
alias 命令=“被定义命令’”定义命令别名
alias 该命令 查看该命令别名的被定义内容
unalias 该命令 删除该命令的别名定义
unalias -a 取消全部别名
nano .bashrc 在里面可永久定义命令别名,想生效需要exit;或者. .bashrc或者source .bashrc
若,命令和别名冲突时,想使用原始命令,则:外部命令敲命令途径;内部命令则用’ ‘或\或””或command
常用操作
- gedit 为图形工具,在字符模式下不能用
- startx 开启图形界面,并不是切换模式;ctrl+c 则取消startx
- nano 为字符文本编辑工具
- 在centos图形界面ctrl+alt+f2/f3/f4…进入(并没有切换)字符界面
- chvt 2/3/4手动切换进入字符界面
- init 3 彻底切换到字符界面(模式切换)
5 切换回图形界面
0 关机
- yes 无限重复打印本身或者后面的命令
- man 7 glob 查询通配符预定义
- > f1 建立f1空文件命令,若果有f1,则覆盖,变空文件
- touch `date +%F`.log 创建一个有格式的空文件,如果文件名已存在,则不创建并刷新该文件的三个时间戳
touch `date -d “-1 day” +%F`.log 创建昨天的日志文件
touch -c f2 如果文件不存在则不创建,此命令只用于刷新时间戳
touch file{1..100}.conf 创建1到100个文件
- mkdir 建立空文件夹,不同于touch 是建立空文件
mkdir -p ~/f1/1/2/3/{4,5}/{a,b} 建立多个文件,f1下建立1,1下建立2,2下建立3,3下建立4和5,并且4下建立a和b,5下同样建立a和b
- rmdir 删除空文件夹,-p逆向递归删除空文件夹
- cd 进入到某个文件夹
例:cd /root 进入~家文件
cd – 退回到上次最后一次进入的路径
cd 默认回到root用户目录(家目录)
- cp 复制(root权限中是cp -i别名,会提醒是否覆盖;而用户权限中是真cp)
例:cp /usr/bin/yes /usr/local/sbin 将yes复制到后面的文件夹里
cp /etc/host host.bak 将host文件复制并改名为host.bak(新文件原本不存在)
若再次执行上述命令,即进行覆盖指令
cp /etc/host ~chenjia/ 将host文件复制到chenjia的家目录里面
cp -r 在将文件夹进行复制操作时,-r表示递归,即复制操作同样执行于该文件的所有子目录
cp -f 为替换操作 cp -d 复制保留软链接 cp -a 保留所有属性数据(防止遇到源文件是软链接或磁盘挂载点的情况,这会复制软链接的链接文件) cp -av v表示显示操作过程
若再次复制同一个文件夹到同一个文件夹时,cp默认会复制到目标文件夹的子目录中
mv 9zxc8 9zxc7 更换9zxc8文件的名字为9zxc7 !!!
cp 9zxc8 9zxc7 复制8,命名为7并保存
- ln f1 f2 建立f1的硬链接f2文件并且让他与f1的节点编号一样(link)
ll -i可查询,(2 root root 3 Mar 30 16:03 f1)查询结果中的2为链接数
文件夹不支持硬链接创建和跨设备创建,并且文件夹的链接数至少是2
- ln -s f2 f2_link 创建f2的软链接,支持文件夹的软链接创建和跨设备创建
注意:采用相对路径时,f2要写相对软链接的路径(一般软链接都用相对路径)
- readlink 专门查询软链接的目标,一般用ll即可
- 重定向
I input 输入
O output 输出
以下拿ls举例:
ls > /dev/pts/5 改变重定向,即改变信息输出的终端窗口到5窗口显示
ls > /data/ls.out 让标准输出写入到ls.out文件里面,若文件不存在,则先建立空文件
ls 2> /data/ls.out 代表将标准错误输出写入该文件,1可以省略
若再次执行重定向命令到同一个文件,则默认为替换掉,>> 则可以实现追加
ls 错误输出 正确输出 >>f1 2>>f2 这句表示将正确输出放入f1文件,错误输出放入f2
ls 错误输出 正确输出 >all.log 2>&1 即将错误输出认为是正确输出,并将所有正确输出写入all.log文件;可简化为:ls I O &>all.log
set -C 禁止覆盖,执行后,之后>的默认覆盖将被禁止,但是>| 为强行覆盖,取消禁止为set +C
(ls;pwd) > all.log 将多个命令的输出记录到all.log文件中
>bigfile 清空文件的命令就是采用的重定向;>>f1 同样可以创建一个空文件,并且如果存在该文件,也不会覆盖原有文件,是最为安全的创建空文件的措施,相对于touch命令创建空文件,>>重定向并不会修改原有文件的属性信息,比如使用时间,而touch则会修改为当前时间
< 为标准输入的重定向命令
注意:cat < f1 >f1 则清空f1,若cat /f1 >>f1 则无限循环的在f1里面复制同样的数据
处理文件都需要先打开文件,然后系统自动分配一个文件描述符fd
例如:ll /proc/$$/fd 查询打开的文件或设备所匹配的描述符
其中蓝绿色的数字即描述符,而且,描述符是可以修改的
例如:对刚刚操作过的文件host,现在输入指令:exec <>/data/host 即可修改为8
exec 8>&- 删除8这个描述符(也是软链接)
- history 历史命令
- rename “conf” “bak” *.conf 批量修改文件名字,即:对*.conf类的文件,将conf修改为conf.bak (注意:cp 做不到批量修改文件名)
- hash 外部命令运行过后会存到hash中,以便下次不需要从$PATH中寻找
hash -d 删除某条运行过的命令的缓存
hash -r 清除缓存
- rm -f /usr/local/sbin/yes 删除该文件
- lsof |grep deleted 查看已经删除但是并没有被覆盖清掉的文件
- shred -zv -n 6 f1文件 z是用随机字符覆盖f1文件,n是覆盖次数
- file 可查询文件类型(在Linux中,文件的后缀并不能说明说明)
- hostname 完整的主机名
- dd if=/dev/zero of=bigfile bs=1M count=800 即建立一个文件并用zero中的数据填充,
- systemctl restart network 重新启动网卡
- rpm -ivh xxxxx 安装某个工具
rpm -qa |wc -l 查询安装文件数量
- 多人会话screen命令
screen -s xx 建立会话
screen -x xx 进入会话
个人退出ctrl+a,d
screen -r 再次加入会话
screen -ls 查询会话信息
- killall vim 杀死进程,但不建议
- shutdown 关机
shutdown -r +5 五分钟后关机
shutdown -c 取消关机
- wall “xx” 广播,登录即可看见
- poweroff 彻底关机
- halt 关机不关电源
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94532