linux 基础命令

混江龙づ霸主 提交于 2019-11-29 03:31:59

Linux系统的优势基因还是快速,批量,自动化,智能化管理系统和处理业务。

#  超级管理员命令提示符

$ 普通用户命令提示符

[root@cent65 ~]#     @前面为用户   @后面为主机名称   ~为当前所在目录   

Linux命令提示符由环境变量PS1控制

[root@cent65 ~]# set | grep PS1

PS1='[\u@\h \W]\$ '

可以通过全局配置文件  /etc/profile  或 /etc/bashrc 进行按需调整

常用的Linux远程管理工具:secure CRT   Xshell     putty    Xmanager

常用快捷键: 

tab   命令或路径快速补全

Ctrl+a  光标回到命令行首

Ctrl+e  光标回到命令行尾

Ctrl+insert  复制命令行内容

shift+insert  粘贴命令行内容

Ctrl+k 删除光标处到行尾的字符

Ctrl+u 删除光标处到行首的字符

Ctrl+c  中断终端正在执行的任务或删除整行

Ctrl+d  退出当前shell

Ctrl+r  搜索命令行使用过的历史命令记录

Ctrl+l  清屏

Ctrl+s  锁定终端

Ctrl+q  解锁终端

Ctrl+z  暂停执行在终端运行的任务

!!  执行上一条命令

!pw  执行最近以pw开头的命令

!num  执行历史命令列表的第num条命令

Linux命令下查询帮助

man  cp

ls  --help

echo  $LANG

cat  /etc/sysconfig/i18n

Linux的关机  重启  注销

shutdown -r   -h   -c    

shutdown -r   23:30   

shutdown  -h   +5

shutdown  -h  now

reboot    poweroff   init   halt

logout  exit   

基础命令用法要牢记!!!

文件和目录操作命令

pwd  显示当前路径

PS1='[\t \u@\h \w]\$'

如果想彻底改变PS1的显示,可以编辑/etc/bashrc文件的第36行,然后source  /etc/bashrc 重新加载这个文件就生效了

 

 

 

 

cd  切换目录

cd   ~   -     .    ..    注意这几个特殊的目录就可以了

绝对路径  和  相对路径

tree   以树形结构显示目录下的内容

tree   -d 只显示目录   -L  level   遍历目录的最大层数

rpm  -qa  tree

yum  -y   intall   tree

LANG=en_US.UTF-8    调整字符集,避免乱码

使用tree命令区分目录和文件,  -F选项会在目录后面有个/ ,使用grep把他过滤出来。

tree  -L  1 -F /boot/  | grep /$

 

 mkdir  创建目录

mkdir   -p  /dir1/dir2/dir3   递归创建目录    -v 显示创建过程   -m 设置目录权限

目录默认权限为755  

 

 

 

 

这个有个关于花括号扩展的用法需要注意 {},花括号用来匹配一组用逗号分隔的字符串中的任一个

[root@cent65 dir]#echo {B,C}

B C

[root@cent65 dir]#echo A{B,C}

AB AC

[root@cent65 dir]#echo A{,C}

A AC

touch命令  创建空文件或改变文件的时间戳属性

touch  user{1..5},txt

stat 命令可以查看文件的时间戳属性

文件的时间戳属性分为:访问时间access  修改时间modify  状态改变时间change

touch   -a 更改最后访问时间  -m更改最后修改时间  

ls  -lt   -lm   -lu  

 

 

ls  显示目录下的内容及相关属性

ls  -l   -a   -t   -r   -F    -i    -d   -h    -A

查看最近更新过的文件   ls  -lrt    -t按时间排序  -r倒序  合在一起就是按时间倒序排序

cp  复制文件或目录

cp  -a   

快速备份文件案例

cp  /etc/ssh/sshd_config{,.bak}

mv  移动或重命名文件

 

 

rm  删除文件或目录

rm  -rf   强制递归删除

find  .  -type  f  -name  "*.txt"  -mtime  +7  | xargs  rm  -f

rmdir   删除空目录

ln   硬链接和软链接

硬链接是通过索引节点来进行链接,在Linux文件系统中,所有文件都有一个独有的inode编号。

在Linux文件系统中,多个文件名指向同一个索引节点是正常且允许的。

硬链接文件相当于文件的另一个入口,他的作用之一就是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止误删除数据。

ln  dir.txt   hard_link

[root@cent65 tmp]# ls -i hard_link dir.txt

941981 dir.txt  941981 hard_link

我们可以看到硬链接的inode号是一样的

现在我们删除源文件dir.txt

[root@cent65 tmp]# rm -f dir.txt

[root@cent65 tmp]# cat dir.txt

cat: dir.txt: 没有那个文件或目录

[root@cent65 tmp]# ln hard_link dir.txt

重新再做一次硬链接就可以还原了,找回了源文件。

[root@cent65 tmp]# cat dir.txt

具有相同inode节点号的多个文件互为硬链接文件

删除硬链接文件或删除源文件任意一个,文件实体并未被删除

只有删除了源文件以及源文件所对应的硬链接文件,文件实体才会被删除

可以通过给文件设置硬链接文件,来防止重要文件被误删

软链接有点像Windows中的快递方式

[root@cent65 tmp]# ls -i dir.txt hard_link soft_link

941981 dir.txt  941981 hard_link  942046 soft_link

软链接文件的inode值和源文件,硬链接文件都不同

软链接文件的文件类型是l

软链接类似于一个文本文件,里面存放是源文件的路径,指向源文件实体

即使删除了源文件,软链接文件还是会存在,但是无法访问指向的源文件路径内容了

全局结论:删除软链接文件对源文件和硬链接文件无任何影响,删除硬链接文件对源文件和软链接文件无任何影响,删除源文件,对硬链接文件没有影响,但会导致软链接文件失效,显示红底白字闪烁。只有同时删除源文件和硬链接文件,才会真正删除整个文件。很多硬件设备中的快照功能,就是利用了硬链接的原理。

readlink  查看符号链接文件的内容

[root@cent65 tmp]# readlink soft_link

dir.txt

find  查看目录下的文件

find   .  -atime   -2   查看当前目录下,两天内受到访问的文件

find   /data/   -mtime   -5    使用绝对路径/data/,  查找修改时间在5天以内的文件

-2 表示更改时间距离现在在2天之内 

+2  表示更改时间距离现在在2天之前

2  表示距离现在第2天

find   /var/log/   -mtime  +5   -name   '*.log'    在指定目录下查找修改时间在5天前以.log结尾的文件

find   .   -type   d    查找当前路径下的所有目录文件

find   .   ! -type  d      !表示取反,查看当前路径下不是目录的文件,注意!的位置

find  /data/  -perm  755   按照文件权限查找文件

find  /tmp  -size  +1000c   查找tmp目录下文件大小大于1000字节的文件

find   . -type  f  -exec  ls  -l  {} \;

{}的作用指代前面find命令查找到的内容,{}前后要有空格,考虑到各个系统中分号有不同的意义,所以前面要加\转义

find  .  -type   f   -mtime  +14   -exec  rm  {}  \;   查找更改时间在14天之前的文件并删除

find  /var/log/  -name  "*.log"  -mtime  +5   -ok  rm  {}  \;

-ok  和  -exec 的作用是一样的,-ok多了一项执行命令前提示的功能

find  .  -type  f  |  xargs  ls  -l   

find  .  -name   "*.txt"  | xargs  -i  mv   {}  dir2/

find  dir2  -name "file*" | xargs   -p   rm  -f

xargs 命令  将标准输入转换成命令行参数

xargs是向其他命令传递命令行参数的一个过滤器,能够将管道或标准输入传递的数据转换成xargs命令后跟随的命令的参数。

xargs   -n      -i   

rename  重命名文件

basename  显示文件名或目录名,用于显示去除路径和文件后缀部分的文件名或目录名

dirname   显示文件或目录路径

chattr  改变文件的扩展属性   

chattr  -a  只能想文件中添加数据,而不能删除,多用于服务器日志文件安全

-i   设定文件不能被删除,改名,写入或新增内容

lsattr  命令用于查看文件的扩展属性

chmod只是改变文件的读写执行权限,更底层的属性控制由chattr来改变的

[root@cent65 tmp]# lsattr dir.txt

-------------e- dir.txt

[root@cent65 tmp]# chattr +a dir.txt

[root@cent65 tmp]# lsattr dir.txt

-----a-------e- dir.txt

[root@cent65 tmp]# rm -f dir.txt

rm: 无法删除"dir.txt": 不允许的操作

[root@cent65 tmp]# echo 111>>dir.txt

可以追加内容

给文件加锁,使其只能只读

chattr +i    dir.txt

为了避免恶意删除.bash_history历史记录文件或被重定向到/dev/null,但系统又需要现向这个文件中写入历史记录,因此采用追加模式,只增不减。

chattr   +a   .bash_history   

file  显示文件的类型

md5sum 计算和校验文件的MD5值

生成一个文件的MD5值

[root@cent65 tmp]# md5sum dir.txt

05824989484946c3a6aa81ac8a00d53e  dir.txt

[root@cent65 tmp]# md5sum -c md5.log

dir.txt: 确定

[root@cent65 tmp]# echo 222 >> dir.txt

[root@cent65 tmp]# md5sum -c md5.log

dir.txt: 失败

md5sum: 警告:1/1 生成的校验和不匹配

利用md5sum命令检查备份文件是否遭到损坏

chown  改变文件或目录的用户和用户组

chmod   改变文件和目录权限   -R递归

r  w  x   -   4   2  1   0    u   g   o   a       +  -   =  

注意普通文件和目录的读写执行权限

删除文件的权限是受父目录的权限控制,和文件本身的权限无关

chgrp   更改文件用户组

umask  显示或设置权限掩码

 

文件过滤和内容编辑处理命令

cat   合并文件和查看文件内容

查看文件内容   cat   dir.txt

把多个文件合并为一个    cat  file1.txt   file2.txt  > file.txt

创建编辑新文件     cat > file.txt

非交互式的编辑或追加内容到文件尾部     cat>>file.txt <<EOF

hello world!

EOF

清空文件内容   cat  /dev/null >file.txt

cat  -n 按行编号    -b 按行编号,但会忽略空白行   

grep   -v  “^$”  test.txt

ctrl + 退格键    删除输入错误的

利用cat在脚步中显示帮助菜单

#!/bin/bash

Usage()

{

       Cat <<EOF

       USAGE:$0{start|stop|restart}

EOF

}

Usage

Tac 反向显示文件内容

More  分页显示文件内容

Less  

Head  显示文件头部  默认显示前10行

Tail

Tailf  跟踪日志文件

Cut  从文本中提取一段文字并输出

[root@cent65 tmp]# cat > 1.txt

hello,world!welcome

[root@cent65 tmp]# cat 1.txt

hello,world!welcome

[root@cent65 tmp]# cut -b -5 1.txt

hello

[root@cent65 tmp]# cut -b 4- 1.txt

lo,world!welcome

[root@cent65 tmp]# cut -b 3-8,10 1.txt

llo,wol

cut  -d : -f 1 /etc/passwd   -d指定:作为分隔符,-f 指定显示第一个区域

 Split 分割文件

Paste  合并文件

Sort文本排序

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!