第二周命令总结

Posted ccxh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二周命令总结相关的知识,希望对你有一定的参考价值。

 A

alias别名,可以用type查看取得别名是否存在,然后输入alias 别名=原命令,别名也是临时性,可用enable还原,可以写进nano文本里面保存,输入nano .bashrc,在.bashrc里面修改保存,然后执行source或.?执行文件.bashrc,执行保存)

别名优先于内部命令优先外部命令优先不属于两者的命令  

unalias -a #取消所有别名 如果想永久有效,要定义在配置文件中

仅对当前用户:~/.bashrc

对所有用户有效:/etc/bashrc

B

Bc(二进制转换,输入bc回车,输入obase=2回车,输入转换数字,这是2进制转换,ibase=8,是8进制转换)

 

Basename 基名:basename,只取文件名而不要路径

Dirname 只取路径 不要文件名

[root@centos8 bin]#basename /etc/sysconfig/network

network

[root@centos8 bin]#dirname /etc/sysconfig/network

/etc/sysconfig

 

C

Cd  切换文件夹 回到家目录

 

Cat cat /etc/ 查看文本文件 /etc/motd(登录后提示) /etc/issue(看文本文件)

cat /etc/redhat-release(查询红帽系列发行版本,ubuntu输入cat /etc/os-release查询)

cat /proc/cpuinfo(跟lscpu一样查询当前设备CPU,不过显示更加详细)

cat /proc/meminfo(跟free指令一样,查看内存 proc文件夹对应的是内存中的数据,都是保存在内存中的,不占磁盘空间)

cat /proc/partitions(跟lsblk功能一眼查看内存中的分区和大小)

CTRL?C Cntrl?D(取消/中断)

Cal -y 显示日历

Clear 清除

Cat >cat.log单行重定向:

Line1

Line2  用ctrl+d结束编辑

多行重定向:cat >cat.log <<@ (注明 @是终止符 输出@时停止)

Line1

Line2

@

结束  在输出设置的停止符之前 文件内容是没有生成的

 

 

chown 可以修改文件的属主 也可以修改文件的属组

chgrp 只可以修改文件的属组

chmod 修改文件权限

chattr 用来限制root 防止root误删除

+i 不能删除以及更改

+a 只能追加内容

chpasswd

chage  修改用户密码

chsh  指定shell chsh /bin/csh yang

Chfn 指定个人信息 chfn root

Cp 利用 cp 命令可以实现文件或目录的复制

cp [OPTION]... [-T] SOURCE DEST

cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE

-i 覆盖前提示

-n 不覆盖,注意两者顺序

-r, -R 递归复制目录及内部的所有内容

-a 归档复制保留文件原有属性相当于-dR --preserv=all 

 cp -a /data/ /backup_`date +%F_%H-%M-%S`备份保存即时文件

-d --no-dereference --preserv=links 不复制原文件,只复制链接名

-p 等同--preserv=mode,ownership,timestamp 保留权限主组时间戳

-u --update 只复制源比目标更新文件或目标不存在的文件

-v --verbose

 

-b 目标存在,覆盖前先备份,形式为 fifilename~ 如果之前使用过--backup 则是数字形式

 

--backup=numbered 目标存在,覆盖前先备份加数字后缀

范例:

[16:21:08 root@centos8 ~]#cp ~wang/issue /data/issue_wang.bak

-rw-r--r--. 1 root root 86 Dec 13 16:21 /data/issue_wang.bak

-rw-r--r--. 1 wang wang 86 Dec 13 16:18 /home/wang/issue

[16:21:44 root@centos8 ~]#cp -p ~wang/issue /data/issue_wang2.bak

[16:22:07 root@centos8 ~]#ll ~wang/issue /data/issue_wang2.bak

-rw-r--r--. 1 wang wang 86 Dec 13 16:18 /data/issue_wang2.bak

-rw-r--r--. 1 wang wang 86 Dec 13 16:18 /home/wang/issue

[16:23:19 root@centos8 ~]#cp /etc/sysconfig/ /data/

cp: -r not specified; omitting directory ‘/etc/sysconfig/‘

[16:23:40 root@centos8 ~]#cp -r /etc/sysconfig/ /data/

[16:23:45 root@centos8 ~]#ll /data

total 12

-rw-r--r--. 1 root root 0 Dec 13 16:11 2019-12-12_16:11:48.log

-rw-r--r--. 1 root root 0 Dec 13 16:13 2020-12-13_16:13:11.log

-rw-r--r--. 1 wang wang 86 Dec 13 16:18 issue_wang2.bak

-rw-r--r--. 1 root root 86 Dec 13 16:21 issue_wang.bak

drwxr-xr-x. 7 root root 4096 Dec 13 16:23 sysconfig

[16:24:03 root@centos8 ~]#cp -r /etc/sysconfig/ /data/sysconfig_bak

[16:24:34 root@centos8 ~]#ll /data

total 16

-rw-r--r--. 1 root root 0 Dec 13 16:11 2019-12-12_16:11:48.log

-rw-r--r--. 1 root root 0 Dec 13 16:13 2020-12-13_16:13:11.log

-rw-r--r--. 1 wang wang 86 Dec 13 16:18 issue_wang2.bak

-rw-r--r--. 1 root root 86 Dec 13 16:21 issue_wang.bak

drwxr-xr-x. 7 root root 4096 Dec 13 16:23 sysconfig

drwxr-xr-x. 7 root root 4096 Dec 13 16:24 sysconfig_bak

[16:32:43 root@centos8 ~]#cp -b /etc/motd /data/issue

cp: overwrite ‘/data/issue‘? y

[16:33:09 root@centos8 ~]#ll /data

total 8

-rw-r--r--. 1 root root 1 Dec 13 16:33 issue练习

1、每天将/etc/目录下所有文件,备份到/data独立的子目录下,并要求子目录格式为 backupYYYY 

[16:40:19 root@centos8 ~]#cp -av /etc/ /data/backup`date +%F`

 

mm-dd,备份过程可见

2、创建/data/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限

2.10 移动和重命名文件

mv 命令可以实现文件或目录的移动和改名

同一分区移动数据,速度很快:数据位置没有变化

不同分区移动数据,速度相对慢:数据位置发生了变化

格式:

常用选项:

-i 交互式

-f 强制

-b 目标存在,覆盖前先备份

利用rename 可以批量修改文件名

-rw-r--r--. 1 root root 2610 Dec 13 16:32 issue~

[16:33:11 root@centos8 ~]#cp -b /etc/fstab /data/issue

cp: overwrite ‘/data/issue‘? y

[16:33:55 root@centos8 ~]#ll /data

total 8

-rw-r--r--. 1 root root 709 Dec 13 16:33 issue

-rw-r--r--. 1 root root 1 Dec 13 16:33 issue~

[16:33:56 root@centos8 ~]#cp --backup=numbered /etc/fstab /data/issue

cp: overwrite ‘/data/issue‘? y

[16:34:32 root@centos8 ~]#cp --backup=numbered /etc/shadow /data/issue

cp: overwrite ‘/data/issue‘? y

[16:34:41 root@centos8 ~]#cp --backup=numbered /etc/os-release /data/issue

cp: overwrite ‘/data/issue‘? y

[16:34:48 root@centos8 ~]#ll /data

total 20

-rw-r--r--. 1 root root 420 Dec 13 16:34 issue

-rw-r--r--. 1 root root 1 Dec 13 16:33 issue~

-rw-r--r--. 1 root root 709 Dec 13 16:33 issue.~1~

-rw-r--r--. 1 root root 709 Dec 13 16:34 issue.~2~

----------. 1 root root 1349 Dec 13 16:34 issue.~3~

[16:40:19 root@centos8 ~]#cp -av /etc/ /data/backup`date +%F`

[16:40:19 root@centos8 ~]#cp -a /root /data/rootdir

 

利用rename 可以批量修改文件名

rename [options] <expression> <replacement> <file>...

范例: #为所有的conf文件加上.bak后缀:

rename ‘conf‘ ‘conf.bak‘ f*

#去掉所有的bak后缀:

rename ‘.bak‘ ‘‘ *.bak

 

2.11 删除文件

使用 rm 命令可以删除文件

格式:

常用选项:

-i 交互式

-f 强制删除

-r 递归

--no-preserve-root 删除/

范例:

范例:删除特殊文件

rename [options] <expression> <replacement> <file>...

#为所有的conf文件加上.bak后缀:

rename ‘conf‘ ‘conf.bak‘ f*

#去掉所有的bak后缀:

rename ‘.bak‘ ‘‘ *.bak

 

 

 

 

 

 

 

  1. D date 时间 date系统时间 date +%F今天年月日 touch ` date+%F`.txt创建日志

clock硬件时间  时区 clock-s, --hctosys 以硬件时钟为准,校正系统时钟

Clock-w, --systohc 以系统时钟为准,校正硬件时钟

/etc/localtime

Date +%s 得出从1970年到现在过了多少秒

Echo `Date +%s`/86400|bc得出过了多少天

 

df查看字节 df -h查看更具体

dnf -y install 命令名称((安装软件,,dnf只适用于centos 8,yum适用于centos 6/7)

Dirname 目录名 只取目录不取文件

 

dd if=/dev/zero of=/data/bigfile bs=1M count=100 创立一个700M的大文件

 

E

exit退出当前界面

enable 管理内部命令

enable cmd 启用内部命令

enable –n cmd 禁用内部命令

enable –n 查看所有禁用的内部命令

 

echo 命令是一个 shell 的内部命令,使用 echo 命令可以将指定字符串回显输出

 echo 在输出内容后会自动补充一个换行符,使用 -n 选项取消默认添加的换行符

 echo $PATH(查看外部命令存储次序,$表示变量,后面跟的是变量名

 echo 使用 -e 选项可以输出转义信息

echo $LANG(通过LANG来转换中文提示)

echo -e ‘e[31mwelcome[0m’(打印welcom字符颜色,31m色号为红色)或者echo -e ‘x1B[31mwelcomx1b[0m’ 效果是一样的。 [0m后缀是颜色终止,防止把后续的颜色都影响了  临时使用改变颜色PS1=‘[e[0m][[e[32;40;1m]u[e[39;40;1m]@e[31;40;1m]h e[35;40;1m]W[e[0m]]$ ‘

保存到文件里 nano bashrc 进去编辑保存 出来source即可

 

export可以使用export命令对已定义的变量进行输出。 export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。

Echo $$查看当前进程编号

Echo默认增加空行 echo -n不增加空行

 

修改口令 echo 口令|  passwd stdin test

 

F

file 判断文件类型

Free 以及free -h查看内存使用情况

Finger 查看用户个人信息 如finger root

 

G

grep 过滤

Gedit 图形化文本编辑工具

Getent passwd wang =getent shawod wang =cat /etc/shawod wang查看单个用户账号相关信息

Cat /etc /showod =getent passwd = getent shadow 查看所有账户相关信息

groupadd

groupmod

groupdel

getfacl  查看设置的acl权限

gpasswd

Groups 查看用户所属组列表

Groupmems 管理组成员关系

H  

hash 显示hash缓存 缓存的是外部命令

hash -l 显示hash缓存,可作为输入使用

hash -p path name 将命令全路径path起别名为name

hash -t name 打印缓存中name的路径

hash -d name 清除name缓存 仅清理某个指令

Hash -r清除缓存

 

halt 关机

Hostname 查看主机名 hostnamectl 设置主机名

获取主机名Hostname uname -n   echo $HOSTNAME  cat /PROC/SYS/KERNEL/HOSTNAME小写

保存写进文件 写进etc 要想永久修改命令

   行提示符为指定格式,可以在系统环境变量初始化时加上 PS1 变量赋值语句,比如 ~/.bashrc   ~/.bash_profile   /etc/profile 等文件中修改主机名直接修改 /proc/sys/kernel/hostname  

hostnamectl set-hostname centos7

 

Hexdump命令一般用来查看二进制文件的十六进制编码,但实际上它能查看任何文件,而不只限于二进制文件。

 

History   history -c 清除命令历史 rm -f.bash history 删除磁盘文件历史 想完全清除痕迹应该先删除磁盘文件历史 再进行history -c

History

-d offffset: 删除历史中指定的第offffset个命令

n: 显示最近的n条历史

-a: 追加本次会话新执行的命令历史列表至历史文件

-r: 读历史文件附加到历史列表

-w: 保存历史列表到指定的历史文件

-n: 读历史文件中未读过的行到历史列表

-p: 展开历史参数成多行,但不存在历史列表中

-s: 展开历史参数成一行,附加在历史列表后

HISTSIZE:命令历史记录的条数

HISTFILE:指定历史文件,默认为~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数

HISTTIMEFORMAT="%F %T `whoami`" 显示时间和用户

HISTIGNORE="str1:str2*:…" 忽略str1命令,str2开头的历史

HISTCONTROL:控制命令历史的记录方式

 

持久保存变量

以上变量可以 export 变量名="值" 形式存放在 /etc/profifile 或 ~/.bash_profifile

保存成文件进入Nano .bash_ profile  编辑export HISTTIMEFORMAT="%F %T `whoami`" whoami里面是反引号

Source .bash profile 文件生效

 

1.help+命令等同man bash(显示内部命令的帮助,也自动把内部命令显示出来,包括内部命令的状态,更加直观和详细,help后面也可以跟内部命令,它会列出这个内部命令的用法说明)内部命令 help command或者man bash 执行之前用type command查看是内部还是外部命令

2外部命令 --help ls --help 大部分命令优先使用--help

   或者 -h  cal -hhelp= -hdate不支持- h仅能使用--help

Shutdown不能用-h会把机器关机

I

Init 切换模式 常用init3 5

Init 0终止用户强制关机  shutdown是正常关机

Init1单用户模式 等系统出问题的时候维修他的程序 一般不使用

Init2多用户模式

Init 3完全多用户模式 字符界面

Init4安全模式 一般不使用

Init 5图形化界面

Init6重启动

 

Info man常用于命令参考 GNU工具 info 适合通用文档参考

没有参数,列出所有的页面

 

ip a(查询当前终端IP地址)

id -u(IP地址参数)

Iconv

K

L

ls cpu(查看缓存。一级缓存,二级缓存)

logout(退出或表示注销当前身份)

lsblk(显示当前硬盘和分区列表

Lsof

Lsattr 显示文件特殊属性

 

M

mv 移动文件

Mask

man 帮助手册

Mkdir

man命令  查之前需要先看在第几章节 whatis 命令

Man passwd 等于中间省略1 直接查找第一章节 如果要查第五章节需要输man 5 passwd

Mail -s test 加上发给谁 可以发邮件

Mail -s test yang < mail .txt (建立出输入好内容的文件) 做到群发

N

Nano编辑修改文件 生成文本文件  nano `date +%F`.txt

Newgrp

 

O

 

P

Poweroff 关机

 

$PATH是个环境变量 路径 shell 中使用 PATH 环境变量来存储命令程序的查找路径,路径可以有多个并使用 ‘:‘ 号做分隔,PATH 变量的内容可以根据需要进行修改和添加

 

Ps 进程 ps -a查看所有进程

Ps au a=all u=用户

Ps aux可以看到正在执行的程序及编号 找到程序运行的编码 进入cd/proc     cd对应编码  接着ll看到文件所对应的路径 再看编码所对应exe的路径就可以找到运行程序所在的地方

Pstree  以树状图说明进程之间的关系

 

 

 

 

 

PS1是变量 变量前面一般加$

 PS1 变量的定义格式可以在 bash 的帮助信息中的 PROMPTING 内容部分查看到,常用的格式含义如下:

      u       当前用户

      h       主机名简称

      H       主机名

      w       当前工作目录

      W       当前工作目录基名

             24小时时间格式

      T       12小时时间格式

      !       命令历史数

      #       开机后命令历史

 

PS2是影响多行重定向里面内容的一个变量

 

 

Q

R

Rm删除文件

runlevel(查看当前在哪种模式下)

reboot(重启

Rmdir 删除空目录

Rew

S

sudo -i   切换身份 ubuntu中切换成root

set -C | +C

shred

su  切换用户 su root不登录的情况下使用 su - root 完全切换

Su -c cmd 临时执行命令

systemctl start autofs

Stat 查看文件

Setfacl 可以设置ACL权限

 

Screen 利用screen 可以实现会话管理,如:新建会话,共享会话

安装 screen

screen命令常见用法:

创建新screen会话 screen -s

加入screen会话 screen -x

剥离当前screen crtl+a,d

显示已经打开的screen会话 screen -ls

恢复某screen会话 -r

安装screen  

[OPTION]... [TIME] [MESSAGE]

[root@centos7 ~]#yum -y install screen

 

shutdown 关机

sleep 休眠

systemctl start autofs

source =  . 再不用推出界面的情况下让文件生效

sosreport  

Seq 1 100 生成1-100数字

Seq -s+ 1 100生成1+2+...+100

Seq -s+1 100>bc.log  bc < bc.log生成结果5050

Seq -s+1 100 | bc 两步合成一步 管道符之前的标准输出作为后面的标准输入

Shadow 阴影 用来存放口令密码

随机生成口令放大 tr -dc ‘[:alnum:]’<  /dev/uranom | head -c 12(前12个字母数字)

或者openssl rand -base64 12

 

T

Tr 可以转换和删除字符‘’

tee 可以重定向到多个目标

tar 打包

tty 显示当前所在终端

tmux 类似于screen 可以实现多个窗口同时运行

安装tmux    yum -y install tmux

type 可以用来查看命令是否是内部命令

Tab 补全命令 双击出现跟字母命令相关的所有命令 也可以补全子命令 需要安装bash -competition

 

touch `date +%F`.txt 创建每天的文件 即日志文件

 

 

U

 

uptime  显示服务器运行时间

Unalias 取消临时别名

Uname -r 查看内核版本

usermod

userdel 可删除lunix用户

umask 用来创建保留文件权限 持久保持umask值 全局设置/etc/bashrc    局部设置 ~ /.bashrc

新建文件默认权限是666 如果存在奇数则分别加1

新建文件夹默认权限是777

普通用户的umask值是002

Root的umask值是022

Umask -s是其显示方式

Useradd id创建新普通用户

Useradd -u  uid

        -o 配合uid不检查uid的唯一性

        -r 创建系统用户 在默认home列表里面没有

        -u 指定 id

        -G指定附加组但是组需要事先存在

        -S 指定shell

 

v   

vi vim的前身  三种模式:命令,插入,扩展命令

vim 编辑工具之神   

W

Whoami 查看我是谁

Which 寻找文件路径

Whereis 显示文件具体路径

whatis 显示命令的简短功能介绍

X

Y  yum install XXXX(后缀要装的命令,但是必须要连互联网,yum仅支持centos6/7,centos8可以用yum或者dnf)

 

Z

 

 

 

 

 

设备名第二个分区mount挂载 到 c:part2 挂载点mount point

 

设备  ---->  mount ----> mount point

 

 

分区表示法:

 

 

/dev/sda1   mount   /boot

 

swap 2G 4G  1G 2G

 

200G  2G

/         100G

/boot  1G

/data  50G

swap  4G

 

特殊符号

``  反向单引号  里面变量和命令都识别 反向单引号里面一定是命令,然后将里面内容当成命令识别执行再交给调用反向单引号的命令继续  常用于一个命令的输出打印给另一个命令的参数  $command=`cmd`     ``不支持太复杂的 $()支持 也可以``$()混用.

 

‘‘强引用 只能单纯识别输出字符

""可以识别变量,不能识别命令

 

转义符 也可以表示一个命令一行没打完

Echo\打印出  echo\\打印出两个\或则echo‘\’加单引号

 

{} 花括号 相当于``{}对重复意义东西进行打印 echo user{13,5} 输出为user1 user3 user5

Echo file{1,3,5}txt输出为 file1.txt file 3txt file5txt

Echo{1..10}输出为1,2,3,4,5,6,7,8,9,10

Echo{20..10..2} 20 18 16 14 12 10

Echo{000..10..2} 000 002 004....010

 

 

文件

1.source=.让文件及时生效  文件前加.表示隐藏文件

蓝色是目录文件夹 绿色是可执行文件 黄色特殊其他类型文件 浅蓝色是软链接

 

2.文件有两种数据 元数据即属性  数据data即文件内容

把数据按照规则放到相应的文件

 

 

3.-表示一般文件

C character字符文件 一个一个字符abcd  典型的字符设备zero(真正的二进制0

D directory目录文件 文件夹

B block块设备文件 以块的方式来进行设备的读写 有大小容量、如磁盘空间  随机访问到这个设备的空间

I link符号链接文件 快捷方式

P pipe管道文件 和网络通讯有关 两个程序互联互通基于单向传输 AB发文件 b接受 之后b才能向a发文件 不能同时

S socket套接字文件 和网络通讯相关 双向

4.目录下文件对应 lunix里面对大小写敏感

bin binary 存放的是二进制程序

Boot放启动文件比如内核

Data 是我们自己分盘创建

dev放硬件设备 分区硬盘之类的

Etc放配置文件

Home用户的家目录

Lib 库 有6464位 没61就是lib 32位的

Opt 第三方软件

Proc 虚拟文件夹

Root root文件夹的家目录

Run正在运行中的相关文件

Sys和硬件相关

Tmb 临时

Sbin是给系统管理员运行的可执行程序

Srv放一些服务器数据

Usr 相当于windows里面的profile 帮助命令就放在usr下面

Var 可变的意思  可存放日志

 

 

以上是关于第二周命令总结的主要内容,如果未能解决你的问题,请参考以下文章

第二周学习记录

以前,第二周周考总结

20165302第二周学习总结

20165232 第二周学习总结

第二周课堂测验总结

20145311 《信息安全系统设计基础》第二周学习总结