linux 常用指令巩固(1)(helpful)

指令含义
systemctl------------------------------------------------------------------------------------------------------------------------------------------
date时间查询
rebootroot重启
poweroffroot关机
ps [参数]查询进程 (不带-也可)-a 显示所有进程(包括其他用户进程) -u 用户以及其他详细信息 -x 显示没有控制终端的进程 -aux(涵盖以上) {5种进程状态 R 运行 S 中断 D 不可中断 Z 僵死 T 停止}
top动态地监视进程活动与系统负载等信息(类于windows任务管理器)
pidof [参数][服务名称]查询某个指定服务进程的PID值
kill [参数][进程PID]终止某个指定pid的服务进程
killall [参数][进程名称]终止某个指定名称的服务所对应的全部进程
ifconfig [网络设备][参数]获取网卡配置与网络状态
uname [-a]查看系统内核与系统版本等信息
cat /etc/redhat-release or cat /*release*查看当前系统版本信息
uptime查看系统负载信息
free [-h]查看当前系统内存使用量信息
who查看当前登入主机的用户终端信息
last所有系统的登录信息
history [-c]显示历史执行过的命令 注意 -c是清空 !+序列号可执行旧指令 cat ~/.bash_history历史文件
sosreportlinux 出问题可用于收集日志
工作目录------------------------------------------------------------------------------------------------------------------------------------------
pwd显示当前所处工作目录
cd [- / … / ~]返回上一次所处目录 / 返回上一级/ 回到根目录
ls [-a / -l / -al / -ld]显示文件目录信息,看全部文件/看文件属性大小详细信息/看全部文件的文件属性大小详细信息/看目录属性信息
文本文件编辑------------------------------------------------------------------------------------------------------------------------------------------
cat查看纯文本文件(内容较少)
more和cat 同 但内容多,可空格、回车键翻页
head看纯文本前N行 head - n 20 文件名
tail看纯文本后N行 tail -n 20 文件名
tr [原始][目标]替换文本中的字符 例 cat 文件名
wc [参数 -l/ -w / -c] 文本用于统计文本的-l行数-w字数-c字节
stat查看文件具体存储信息和时间等access modify change
cut [参数] 文件按列提取文本字符 例 cut -d: f1 文件名
diff [参数] 文件比较多个文件之间的差异 -brief 直接输出同与不同 -c 具体描述区别
文件目录管理命令------------------------------------------------------------------------------------------------------------------------------------------
touch [选项] [文件]创建空白文件或设置文件的时间 -a 仅修改读取时间atime -m 仅修改 修改时间mtime -d 同时修改atime mtime
mkdir [选项] 目录创建空白目录 -p 为多级目录
cp [选项] 源文件 目标文件复制文件或目录 -p保留原属性 -r 如对象为“链接文件”则保留其属性 -d 递归持续复制 -i 询问覆盖是否已存在 -a 相当于-prd
mv [选项] 源文件[目标路径/目标文件名]剪切文件或将文件重命名
rm [选项]删除文件或目录 -f文件不需要确定 强制删 -r 目录
dd按照指定大小和个数的数据块来复文件内容 if 输入的文件名 of输出的文件名 count 个数 bs 块大小,还可以复制成ios文件 例 dd if=/dev/zero of=test count=1 bs=560M
打包压缩和搜索指令-----------------------------------------------------------------------------------------------------------------------------------
tar [选项] [文件]用于文件的打包压缩解压 例压缩 tar -czvf luo.gz /luo 解压tar -xzvf /luio/luo.gz -C /luo -c 创建压缩文件 -x解压 -t 查看压缩文件内有那些 -z 用gzip压缩/解压 -j 用bzip2 压缩/解压 -v 显示过程 -f目标文件名 -p 保留原始属性权限 -P 使用绝对路径压缩 -C 指定压缩到的目录
grep [选项][文件]用于文本中执行关键词搜索显示结果 -b 将可执行文件binary 当作文本文件text 搜索 -c 仅显示找到的行数 -i 忽略大小写 -n 显示行号 -v 反向选择 无关键字的
find [查找路径] 寻找条件 操作按照指定条件查找文件 -name 匹配名称 -perm 权限 mode 完全匹配 -mode 部分匹配即可 -user 匹配所有者 -group 所有组 -mtime -n/+n 修改时间内或前 -atime 访问时间 -ctime 修改权限 -nouser 无所有者文件 -nogroup 无所有组文件 -newer f1 !f2 匹配比f1新 比f2旧的文件 --type b/d/c/p/l/f 匹配文件类型 块设备/目录/字符设备/管道/链接文件/文本文件 -size 匹配文件大小 +50kb为大于 -50kb 为小于 -prune 忽略某个目录 -exec …{}; 后面可跟进一步处理搜索结果的命令例find / -user linuxprobe -exec cp -a {} /root/ ;
输入输出重定向-----------------------------------------------------------------------------------------------------------------------------------
命令 < 文件将文件作为文件的标准输入
命令 << 分界符从标准输入中读入直到遇到分界符停止
命令 < 文件1 > 文件2将文件1作为文件的标准输入并输出到文件2
命令 >文件标准输出重定向到文件 清空原数据
命令 2> 文件错误输出重定向到文件 清空原数据
命令 >> 文件标准输出重定向到文件 追加到原数据后
命令 2>> 文件错误输出重定向到文件 追加到原数据后
命令 >>文件2>&1 or 命令 &>> 文件将标准和错误输出共同写入到文件中(追加)
管道符-----------------------------------------------------------------------------------------------------------------------------------
|把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入 例 ls -l /etc/ |more
命令行的通配符-----------------------------------------------------------------------------------------------------------------------------------
*匹配0个或多个字符
匹配单个字符
[]匹配一个范围内的单个例[0~9]只要满足0~9中任意一个即可
常用的转义字符-----------------------------------------------------------------------------------------------------------------------------------
反斜杠\使\后的变量成单纯字符串
单引号’’转义其中所有变量为单纯字符串
双引号""保留其中变量属性 不进行转义处理
反引号``把其中的命令执行后返回结果
环境变量--------------------------------------------------------------------------------------------------------------------------------------------
HOME用户主目录
SHELL用户在使用shell解释器的名称
HISTSIZE输出的历史命令记录条数
HISFILESIZE保存的历史命令记录条数
MAIL邮件保留路径
LANG系统语言、语系名称
RANDOM生成一个随机数
PSLBash解释器的提示符
PATH定义解释器搜索用户执行命令的路径(: 隔开)
VIM编辑器--------------------------------------------------------------------------------------------------------------------------------------------
dd删除光标所在整行(剪切)
5dd删除/剪切光标所在行后5行(可以是其他数字)
yy复制整行
5yy复制光标后5行(5可以是其他数字)
n显示搜索下一个
N显示搜索上一个
u撤销上步操作
p粘贴之前dd yy 的数据到光标后面(会自动换行)
VIM编辑器-末行模式可用-------------------------------------------------------------------------------------------------------------------------------
:w保存
:q退出
:wq!强制保存后退出
:q!强制不保存后退出
:set nu显示行号
:set uonu不显示行号
:命令执行该命令
:整数跳转到该行
:s/one/two将当前光标所在的第一个one 替换成two
:s/one/two/g将当前光标所在的所有one 替换成two
:%s/one/two/g将全文的one替换成two
?字符串下至上搜索
/字符串上至下搜索

有时 执行某些命令会不停在屏幕输出东西 影响继续输入 那么可以在之前的指令后加&会让它进入系统后台执行 不干扰前台。
修改密码: echo “linuxprobe” |passwd --stdin root
配置网卡信息
目录:/etc/sysconfig/network-scripts 文件大多以ifcfg开头
dhcp 方式为自动获取IP
仅需修改 BOOTPROTO = dhcp
开机自启 ONBOOT= yes
static 方式
修改有
BOOTPROTO = static
开机自启 ONBOOT= yes
添加IPADDR = XXX(本机IP)
子网掩码: NETMASK=255.255.255.0
网关 GATEWAY=
DNS DNS1= (同网关)
后重启网卡设备
/etc/init.d/network restart
centos 5/6 service network restart(查网卡ifconfig)
centos7 systemctl restart network.service(查网卡ifconfig 如果没有安net-tools 用 ip addr show)

shell脚本
vim shell01.sh

#! /bin/bash
# this is a sample

ls -l
uptime
date

执行脚本 sh shell01.sh -------or----------- bash shell01.sh ----or------ ./shell01.sh(需要权限)
若内置有变量 则
./shell01.sh($0) one($1) two three …(如此 1   1~ 1 n $# 指所填参数的个数 $* 返回所有参数)

判断用户的参数
测试语句格式 [ 条件表达式 ] <------注意两边有空格
条件测试语句

  1. 文本
    -d 文件是否为目录 -w 是否有权限写入 -x 是否有权限执行 -e 文件是否存在 -f 文件是否为一般 -r 是否有权限读取
  2. 逻辑
    && 与 || 或 !非
  3. 整数值比较
    -eq 是否相等 -gt 是否大于 -lt是否等于或小于 -ne 是否不等 -lt 是否小于 -gt是否小于或等于
  4. 字符串比较
    = 等于 != 不等于 -z是否为空
    举例:
    [ -d sell01.sh ] echo $? 得到1 (说明非目录 0为正确)
    [ $USER = root ] && echo “user is root”(判断是否是root用户)

计划任务服务程序
一次性 echo "wl -c " | at 23:56(这是仅今天)
at -l 查看 atrm +号 移除
长期 cronbtab -e
25 3 * * * wc -l 每天3点25执行wc -l
需要用绝对路径
whereis wc 可获取
用户身份和文件权限

  1. useradd [选项] 用户名
    -d 指定用户的家目录 默认/home/username
    -e 账户的到期时间 格式 YYYY-MM-DD
    -u 指定用户的默认UUID
    -g 初始组
    -G 一个至多个基本用户组
    -N 不创建与用户同名的基本用户组
    -s 指定shell 默认解释器

  2. groupadd [选项] 群组名 创建用户组

  3. usermod [选项] 用户名 修改用户属性
    -c用户账户备注信息
    -d - m 更新用户指定家目录 自动把旧数据转移过去
    -e 账户到期时间
    -g 变更所属组
    -G 变更扩展组
    -L 锁定用户禁止登录
    -U 解锁
    -s 变更默认shell解释器
    -u 修改默认UID

  4. passwd [选项][用户名] 修改用户密码 过期时间 认证信息
    -l 锁定
    -u 解锁
    –stdin 通过标准输入改密码 echo “new passwd” | passwd --stdin Username
    -d 用空密码登录
    -e 强制下次登录修改密码
    -s 显示用户密码是否被锁定以及密码采用的加密算法名称

  5. userdel [选项] 用户名 删除用户
    -f 强制
    -r 同时删用户和用户家目录

文件权限与归属
-普通文件
d 目录文件
l 链接文件
b 块设备文件
c 字符设备文件
p 管道文件
|权限分配 | 文件所有者| 文件所属组 | 其他用户|
-----------------------------------------------------------------
|权 限 | 读写执| 读写执 |读写执|
|字 符 | r w x| r w x | r w x|
|数 字 | 4 2 1| 4 2 1 | 4 2 1|
例如:
764 rwxrw-r–

chmod [参数] 权限 文件或目录名称 :设置文件或目录权限
+Rf chmod -Rf 777 luo/
chmod -Rf g+s luo/ (其他用户也可以读取该目录东西)
chown [参数] 所有者:所属组 文件或目录名称
+R (针对目录)
chown +R root:bin test
chmod -R o+t luo/

文件的隐藏属性

  1. chattr [参数] 文件 设置隐藏属性 取消 + 变- 即可
    +i 不允许删除覆盖改动
    +a 仅允许补充追加 不能覆盖删除
    +S 变更立即同步
    +s 彻底删除 不可恢复
    A 不再修改这个文件或目录的最后访问时间(atime)
    b 不再修改文件/目录存取时间
    D 检查压缩文件的错误
    d 使用dump 命令备份时忽略本目录
    c 默认将文件压缩
    u 当删除该文件后依然保留该数据 可恢复
    t 让文件系统支持尾部合并
    x 可直接访问
  2. lsattr [参数] 文件 列表显示
    -d 目录
    -l 文件

文件访问控制列表(ACL)
setfacl [参数] 文件名称 针对单一用户 或用户组 单一文件目录进行读写执行权限控制
-m 普通文件
-R 目录
-c 删去
例如: setfacl -Rm u:andy:rwx /root 设置
setfacl -c /root 取消
getfacl 显示文件设置的ACL

su与sudo
su - andy (完全切用户)
sudo 用于普通用户提供额外权限完成root 才能完成的任务
但 需要在root 下 visudo 里添加andy(谁可以使用) ALL(允许使用的主机)=(ALL(以谁的身份))ALL(可执行命令的列表)

SUID 二进制文件 权限u+s 所有者
SGID 目录或文件 g+s 用户组 可以创建
SBIT 粘滞位 o+t 其他用户 只能删除自己的文件

挂载硬件设备
mount [参数] 文件系统 挂载目录
-a 挂载所有在/etc/fstab 中定义的文件系统
-t 指定文件系统的类型
举例: mount /dev/sdb2 /backup (开机手动挂非长久)
umount /dev/sdb2 (卸载)

长久: vi /etc/fstab 后加上
/dev/sdb2(设备文件) /backup(挂载目录) ext4(格式类型)defaults(权限) 0(是否备份) 0 (是否自检)

虚拟机添加一块SCSI硬盘
fdisk [磁盘名称] 管理磁盘分区
m 查看所有可用参数
t 改变某个分区类型
n 添加新分区
p 查看分区信息
d 删除某个分区信息
w 保存并退出
l 列出所有可用分区类型
q 不保存退出

fdisk /dev/sdb
(回车)p 查看分区信息
(回车)n 新分区
(回车)p 创主分区
(回车)1 主分区编号
(回车)+2G 创一个2G硬盘分区
(回车)p 查看
(回车) w 保存并退出
file /dev/sdb1 如无 则输入partprobe (两次) 将分区信息同步到内核
此时硬盘已完成分区 下一步 格式化(才能写入数据)
存储设备格式化
mkfs +tab x2 取 xfs(高性能) 文件管理系统的文件类型
mkfs.xfs /dev/sdb1 完成格式化

格式化后需要挂载
mkdir /newFS
mount /dev/sdb1 /newFS 挂载成功
df -h 确认成功

du 命令
du [选项][文件]
-sh /* 查看根目录下所有一级目录大小

添加交换分区swap sdb共20G 已用2G
fdisk /dev/sdb
(回车) n 新建
(回车) p 主分区
(回车) 2
(回车)
(回车) +5G 划分大小
(回车) p 查看确认
(回车) w 保存
下一步 分区好 格式化
mkswap(这是专用) /dev/sdb2
free -m 查看交换区大小
swapon /dev/sdb2 将分区设备正式挂载到系统中
这里要记得要使得重启生效 得修改/etc/fstal 最后加上
/dev/sdb2 swap swap defaults 0 0

软硬链接
软 指 指向原文件(原文件删除则无)
硬 指 指向数据 inode +1 (原文件删不影响)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值