Linux命令积累

001` mkdir make directorys 创建目录 例子: mkdir /data 在根/创建data目录.-p递归创建目录

002 ls list(列表) 列表目录文件 例子: ls / 列根/目录下目录和文件. -l(long) 长格式, -d(directorys)查看目录 -F 给不同文件结尾加不同标识, -p给目录结尾加斜线. -a(all) 显示所有的文件(包括隐藏文件) 默认.开头的文件都是隐藏文件,不显示! 003 cd change directory 改变目录路径 例子:cd /ect .
004` pwd print work directory 打印工作目录 (显示当前所在的路径).

005` touch 创建文件或更新文件的时间戳, 如果文件不存在, 就建立新文件,如果文件存在, 就改变文件的访问时间atime等时间戳信息.

006` vi windows 记事本,简单. 例子: vi xxx.txt

007` vim 复杂编辑器 功能复杂,高亮,自动缩进(写shell/python脚本用)

008` echo 打印输出内容,配合">" 或 ">>" 可以为为文件覆盖及追加内容, 还有一个较复杂不常用的类似命令printf.

009` cat 查看文件内容 例子: cat xxx.txt

010` xargs 从标注你输入获取内容创建和执行命令 -n 数字, 分组
从标准输入(管道或stdin, 输入重定向)获取数据.并将数据转换成命令行的参数.

011` cp copy 拷贝文件或目录, 默认不能拷贝目录, -r:递归, 用于复制目录; -a: 相当于-pdr , -p:连同档案的属性一起
复制过去, 而非使用默认属性;

012` rm remove 删除目录和文件 -f (force) 强制, -r(recursive)递归, 用于删除目录
强调:删除命令要慎用, 非常危险, 删除前一定要先备份一份.

013` mv move 移动文件或目录

014` find (*****) 查找 -type 文件类型[f(file), d(directory), c(character), b(block), s(socket), l(link)],
-name "文件名", -mtime 时间, 按修改时间查找, 时间数字, +7 7天以前, 7 第七天, -7 最近7天.
!取反, -a and 交集, 并且, -o or 并集 或者 . -maxdepth查找深度

015` grep (*****) linux 三剑客老三 过滤需要的内容, -v 排除内容, 例子: grep -v xxx test.txt
-v 后面接要排除的内容

Context control:

-B (before) 除了显示匹配的一行之外, 并显示该行之前的num 行
-A (after) 除了显示匹配的一行之外, 并显示该行之后的num 行
-C (Context) 除了显示匹配的一行之外, 并显示该行之前后的num 行
--color=auto 对过滤的匹配的字符串加颜色
-n 对匹配的内容打印行号

016` head 头, 头部 读取文件的前n行, 默认是前10行, -n 数字, 习惯 -5 , 忽略-n .

017` tail 尾,尾巴 输出文件的后n行, 默认是后10行, -n 数字, 习惯 -5 , 忽略-n .

018` alias 查看和设置别名 例子: 查看别名 直接输入alias, 设置别名 alias cp='cp -i'

019` unalias 取消别名 unalias cp

020` seq sequence 序列

021` sed stream editor linux 三剑客老二, 流编辑器, 实现对文件的增删改查替换.
参数 -n 取消默认输出 , -i 修改文件内容, -e 允许多项编辑
功能:
p 打印, g与s 联合使用时, 表示对当前行全局匹配替换
s 常说的查找并替换, 用一个字符串另一个
sed -i s#aaa#bbb#g test.txt

是分隔符, 可以用 /@ 等替换

例子: sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

022` awk 过滤,输出内容. 一门语言. NR行号.
$1 第一列, $2 第二列依次类推, 但$0标识一行
-F 指定分隔符.
awk -F ":" 'NR==1 {print $1,$4,$NF}' /etc/passwd

023 useradd 添加用户 语法: useradd 用户名, 例子: useradd alexruo -s 指定登录shell(-s /sbin/nologin) -u指定uid -c 注释 -d(指定家目录) -G 指定属于多个组, -m 创建家目录 -g 指定属于的主组, -c 指定过期时间, -M 不创建家目录 024 passwd 为用户设置或修改密码 例子:passwd alexruo 为alexruo修改密码, 直接passwd 是当前用户修改密码

非交互式修改密码,修改密码不提示
如:把alex用户密码修改成123456
echo "123456"|grep --stdin alex

025` uname 打印系统信息 -m 32or64位 -r 内核版本 -a (all) -n (显示主机名) hostname 命令

026 hostname 显示和设置主机名 默认是显示主机名, 设置主机名可以 hostname 名字(临时生效) 027 runlevel 查看当前系统支行级别

028` init 切换支行级别, 后面接对应级别的数字, 例如: init 6 就是重启linux 服务器.

029 shutdown(halt, init 0) 关机 关机 shutdown -h now 030 reboot (init 6) 重启 shutdown -r now

031 history 查看及清理历史记录 -c 清空所有 -d 删除指定历史记录 032 dmseg 命令可以系统故障信息
033 ifup 和 ifdown 启动和停止网卡, 可以接网卡名 ifup eth0. 034 nl nl - number lines 显示行号.
035 less 与more 相反. 036 more 按页一次一屏. 回车一次一行, 空格一次一屏.不能回退.
037 wc 上厕所显示 -l (总行数) -L 最大行的长度. 038 chkconfig 设置服务开机自启动的命令, --list 查看自动服务.
--level levels
chkconfig --level levels sshd off[on]
chkconfig --list 显示所有服务
chkconfig --list sshd 查看指定服务是否开机自启动

039 tar 打包 (z c v f j x X N P p C --exclude) 040 cut 切割取列, -d 分隔符 -f 取列, -c 字符
041 tr 替换 translate or delete characters (逐个字符替换) 042 显示文件和文件系统状态(查看文件属性)
043 file 查看文件的类型. 044 last 查看用户登录信息, /var/log/wtmp数据文件
045 lastlog 显示最近登录的用户信息. /var/log/lastlog 数据文件 046 df report file system disk space usage, -i inode -h 人类可读
047 dumpe2fs 查看文件系统内部信息(元数据). 048 tree 大树的意思 , 显示目录树, -L layer 层数, -d 显示目录.
049 id 查看用户和组信息 050 ln 创建软硬链接 -s 软
051 du 查看文件和目录大小 -sh 052 which 查看二进制命令所在路径(从PATH变量所在路径查找)
053 whereis 查找命令的帮助、源代码 -b二进制 054 locate find files by name
只能查updatedb 库里内容, locate 从 /var/lib/mlocate/mlocate.db查找路径.
055 groupadd 添加组 groupadd test 添加test组 056 groupdel 删除组
057 chage 设置或修改用户密码有效期限 -l(list) , -e 改有效期 058 usermod 更改用户属性
059 chmod 更改及设置文件对应权限 060 chown 更改及设置文件应用的用户和组.
061 umask 控制文件默认权限. 062 userdel 删除用户 -r 删除家目录
063 w - Show who is logged on and what they are doing 064 who - show who is logged on
065 last, lastb - show listing of last logged in users /var/log/wtmp 显示用户登录的历史 066 lastlog reports the most recent login of all users of of a givenuser /var/log/lastlog
所有计算机用户最近的登录情况.
067 groups - print the groups a user is in 068 id 查看用户身份
069 su 切换用户身份 - 加载环境变量, -c 以指定用户身份执行任务 企业应用场景:以指定用户身份开机自动启动服务 tail -5 /etc/rc.local ###########分用户方案启动服务命令############# su - alexruo -c '/bin/sh /home/tddoc/bin/deploy.sh' 070 sudo 可以让普通用户可以拥有root权限去执行命令. sudo 的配置文件 /etc/sudoers
071 visudo 通过visudo 编辑 /etc/sudoers, 可以检查语法. 072 dd convert and copy a file
073 fdisk 磁盘分区工具(<2T) , -l 列表 074 partprobe 把分区表的修改变化通知内核
075 mkfs.ext4(mkfs -t ext4) 格式化 -bblock -I inode 076 mkswap 格式化swap 分区
077 swapon/swapoff 使用swap分区, 例如: swapon /dev/sdb1 078 mount -ttype -o 选项
079 umount 卸载 (-lF) 强制卸载 080 df 查看磁盘信息 -i -h -T 文件类型
081 dumpe2fs 查看ext 文件系统信息 082 fsck (e2fsck) 磁盘检查
083 parted 分区工具(常用大于2T) 084 tune2fs 修改文件系统信息
085 megacli 查看raid 信息 086 ipmitools 查看硬件信息工具
087 resize2fs 调整文件系统大小(LVM, drbd) 088 watch 周期性执行程序, 打印到目录, 默认2秒, -n指定秒
089 ssh linux ssh 客户端 -p port, -t 打开终端 090 scp secure cp -P port , -r 目录 -p 保持属性
091 dig dns 解析相关命令 092 nslookup dns 解析相关命令
093 host dns 解析相关命令 094 ifconfig 查看配置网卡信息 configure a network interface
095 ip show/mainpulate routing, devices, policy routing and tunnels 096 wget 下载 -q 安静的 -0 指定文件名
097 netstat -lntup -a 098 lsof list open files
099 curl -I 查看响应header信息 -s安静的 -w获取状态码 100 rpm -q query , -a all -f file
查询一个命令属于哪个包
rpm -qf /usr/bin/htpasswd
-q or -query
-f, -file
-a, -all
卸载
rpm -e --nodeps 包名
-e, --erase
--nodeps
--force
-l, --list list files in package
-h, --hash
-i, --install
--justdb
-v, --verbose
-U, --upgrade=
查看包里有哪些文件
rpm -ql tree
安装
rpm -ivh 包名

alexruo
--查看系统路由
route -n
--查看日志
tail -20 /var/log/secure
--生成目录的脚本
mkdir /app/logs -p
cd /app/logs
for n in seq 14;
do
date -s "2016/03/$n";
touch access_www_$(date + %F).log;
done
date -s '2016/03/15'
--备份文件技巧
cp /etc/ssh/sshd_config{,.ori}
--查看系统位数
uname -m
file /sbin/init
file /bin/ls

相对路径和绝对路径:
windows 绝对路径:
D:\xxx\alex , 从头(盘符)开始的路径
liunx绝对路径: cat /etc/sysconfig/network-scripts/ifcfg-eth0, 从根/开始的路径.
liunx相对路径: 不从根/ 开始, 不从头(根/) 开始的路径.

符号:
.. 上一级目录
. 当前目录
/ 所有目录的顶点, 也是路径的分隔符
: 命令分隔符
{}序列
~ 当前用户的家目录

  • 用户上一次所在的目录, 由OLDPWD变量控制. cd - 回到上次操作的目录
    cat >>test.txt<<EOF
    test
    liyao
    alexruo
    EOF

Linux 特殊变量:
export HISTSIZE=5 命令行历史记录数量

常用快捷键:
tab 命令或路径补全(*****), linux 里最有用的快捷键, 如果tab不到路径或命令, 就代表没有个这个路径或者命令, 还有
可能是权限不对.

ctrl + c 终止当前任务命令或程序
ctrl + d 退出当前用户环境, 相当于exit, logout
ctrl + l (是小写字母L) 清屏, 相当于clear命令
ctrl + shift + c (ctrl + insert) ssh 客户端SecureCRT 里复制的命令
ctrl + shift + v (shift + insert) ssh 客户端SecureCRT 里粘贴的命令

安装centos
注意分区信息
在"Create Storage"时
选择"Standard Partition" 这个选项,其它几项很少或者几乎不用到, 在实际生产环境中也是一样
根据不同的应用场景两种分区方案如下
A:常规分区:数据不是特别重要的业务(集群的某个节点)
/boot 引导分区 200M 主分区
swap 交换分区 内存的1.5倍, 内存大于8G, 就给8-16G
/ Linux 所有目录的顶点 剩余所有空间
B:数据重要(数据库,存储服务器)
/boot 引导分区 200M 主分区
swap 交换分区 内存的1.5倍, 内存大于8G, 就给8-16G
/ Linux 所有目录的顶点 100-200G
/data 所有, 存放数据

Linux 目录的特点:
①/是所有目录的顶点
②目录结构像一棵倒挂的树
③目录和磁盘分区是没关联的
④/下不同的目录可能会对应不同的分区或磁盘
linux 里设备不挂载是看不到入口的
查看目录分区信息
cat /etc/fstab

永久生效:
echo 'export TMOUT=300' >> /etc/profile
echo 'export HISTSIZE=5' >> /etc/profile
echo 'export HISTFILESIZE=5' >> /etc/profile
source /etc/profile

linux三剑客正则表达式
^ 以...开头, ^d , 意思是以d开头.
$ 以...结尾, /$ , 意思是以/结尾.
\让原本有意义的字符脱掉马甲,还原它本身的含义.
. 代表任意单个字符.
.* 代表所有

linux各重要的目录与子目录:
/bin :常用二进制命令所在的目录.比如:ls,cp,mkdir,rm,cut等命令./bin目录与/usr/bin类似
/boot : Linux 的内核及系统引导程序所需的文件目录
/etc : 二进制软件安装包(yum,rpm)的配置文件默认路径

inode小结:
①磁盘分区格式化ext4文件系统后会生成一定数量的inode和 block.
②inode 是索引节点,作用是存放文件的属性信息以及作为文件的索引(指向文件的实体).
③ext3/ext4文件系统的block存放的是文件的实际内容.
④inode是磁盘上的一场存储空间, C6非启动分区inode默认大小为256字节,C5是128字节.
⑤inode 的表现是一串数字,不同的文件对应的inode(一串数字)在文件系统里是唯一的.
⑥inode 节点号相同的文件,互为硬链接文件, 可以认为是一个文件的不同入口 .
⑦一个文件被创建后至少要占用一个inode和一个block.-
⑧block 的大小一般有1k,2k,4k几种.其中引导分区等为1k, 其他普通分区为4k(C6).
⑨如果一个文件很大 ,可能会占多个block,如果文件很小, 至少占一个,并且剩余空间浪费了.

软链接知识小结:
①软链接类似windows的快捷方式(可以通过readlink查看其指向).
②软链接类似一个文本文件,里面存放的是源文件的路径,指向源文件实体.
③删除源文件,软链接文件依然存在 ,但是无法访问指向的源文件路径内容了.
④失效的时候一般是白字红底闪烁提示.
⑤执行命令"ln -s 源文件 软链接文件" , 即可完成创建软链接(目标不能存在).
⑥软链接和源文件是不同类型的文件, 也是不同的文件. inode 号也是不相同.
⑦删除软链接文件可以用rm命令

百万年薪的重要思维:
①越是免费的往往是更贵的!
liunx虽然是源合且免费,其实也是不便宜的, 企业用人成本很高,还承担着很大的软件问题风险.
②学习的投资永远是最有价值的投资.
③相信只有努力付出才能得到回报.
④不断地向有经验的人学习.
⑤要定好知识边界,百分百的投入.
⑥行动失败了比不做要好的多.


    • 通配符,代表任意(0到多个)字符,重要程度().
      ? - 通配符, 代表任意1个字符.
      ; - 连续不同命令的分隔符.重要程度(
      ).

- 配置文件的注释.

| - 管道.重要程度(*****).
  • 用户的家目录.重要程度(*****).
    • 上一次的目录.重要程度(*****).
      $ - 变量需要加的符号.
      / - 路径分隔符号.

或 1> - 重定向, 覆盖.重要程度(*****).

  • 追回重定向, 追加. 重要程度().
    < - 输入重定向.重要程度(****).
    ' - 单引号, 不具有变量转换功能, 输出时所见即所得. 重要程度(
    ).
    " - 双引号, 具有变量转换功能 , 解析变量后输出.重要程度().不加引号相当于双引号.常用双引号.
    ` - tab键上面的键, 反引号, 两个`` 中间为命令, 会先执行, 等价$(). 重要程度(
    ).
    {}- 中间为命令区块组合或内容序列.
    ! - 逻辑运算中的 "非" (not).
    && - 当前一个指令执行成功时, 执行后一个指令.
    || - 当前一个指令执行失败时, 执行后一个指令.
    .. 两个点代表上一级目录.重要程度().
    . 点代表当前目录.重要程度(
    ).

和用户关联的四个文件:
/etc/passwd, /etc/shadow, /etc/group,/etc/gshadow

last, lastb - show listing of last logged in users /var/log/wtmp
显示用户登录历史
lastlog reports the most recent login of all users or of a givenuser /var/log/lastlog 所有计算机用户最近登录信息


scp 命令

scp -P52113 -rp /etc alexruo@10.0.0.61:/tmp

scp -P52113 -rp alexruo@10.0.0.61:/tmp/etc /data

企业里软件升级:
yum install bash -y
还要轻易执行
更新流程:
办公室测试环境----IDC机房测试环境----IDC机房正式环境
50%的故障人为的,50%故障未知的

学历是铜牌
能力是银牌
人脉是金牌
思维是王牌

检测configure是否通过可用
echo $?
如果返回0表示自检通过

安装系统选包安装:
Base
Compatibility libraries
Debugging Tools
Development tools

nginx 查看安装时的配置及版本信息:-V参数
/application/nginx/sbin/nginx -V
检测nginx配置信息是否完整
/application/nginx/sbin/nginx -t
平滑重启nginx
/application/nginx/sbin/nginx -s reload

排除配置文件中的注释信息
egrip -v "^$|#" nginx.conf.default > nginx.conf

posted on 2019-08-03 14:16  alexruo  阅读(283)  评论(0)    收藏  举报

导航