Linux

Linux

命令 功能
pwd 显示当前所在目录
cd 切换目录
ls 列出目录内容
cat 查看文件内容
hostname 显示主机名
ifconfig/ip a 查看网路配置

中的内容为可选

{ }中的内容为必选

文件头以-开头的文件怎么打开?

在其前面加./,文件打开命令:cat ./-

文件名带空格的文件应该怎么打开?

  1. 将文件名用双引号括起来
  2. 使用反斜杠键转义每个空格

对应命令1:cat "spcaes in this filename"

对应命令2:cat spaces\ in\ this\ filename

如何找到隐藏文件?

ls找不到,ll可以展示所有文件信息,ls -al也可以展示所有文件信息(包括隐藏文件),ls -a也可以

复制代码
ls -l					#以长格式显示当前目录中的文件和目录
ls -a					#显示当前目录中的所有文件和目录,包括隐藏文件
ls -lh					#以人类可读的方式显示当前目录中的文件和目录大小
ls -t					#按照修改时间排序显示当前目录中的文件和目录
ls -R					#递归显示当前目录中的所有文件和子目录
ls -l /etc/passwd		 #显示etc/passwd文件的详细信息

Linux有哪些文件类型?

Linux中的普通文件类型包括:

  1. 纯文本文件(ASCII)
  2. 二进制文件(binary)
  3. 数据格式的文件(data)
  4. 各种压缩文件.第一个属性为-

file命令

人类可读的文件只有纯文本文件

用 file批量判断文件类型:file ./*

如何盲目寻找指定文件?

find命令

格式:find [路径] [匹配条件] [动作]

-type type:按文件类型查找可以是r(普通文件)、d(目录)、l(符号链接)等

-size [+-]size[cwbkMG]:按文件大小查找,支持使用+或-表示大于或小于指定大小,单位可以是c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或G(GB)

.或者./是当前目录

/是所有目录

-user username:按文件所有者查找

-group groupname:按文件所属组查找

命令:find ./ -type f -size 1033c

对全目录查询

find / -user bandit7 -group bandit6 -size 33c会查到超多Permission dennied怎么屏蔽?

复制代码
2>/dev/null
将错误结果输出重定向/dev/null中
/dev/null是一个特殊的设备文件,其实质为空设备文件,查看该文件详情可知,它还是个character special file,大小是0字节,所有人都有读写权限,主要作用是:接收一切输入给它的数据并丢失。就像垃圾桶,的确它也经常被当作垃圾桶,也被称为位桶(bit bucket)
Linux中有三个特殊的文件描述符:0,1,2
0:标准输入(stdin)
1:标准输出(stdout)
2:标准错误(stderr)
综上,所有的错误信息将被丢弃到位桶红,由此过滤掉错误输出

find / -user bandit7 -group bandit6 -size 33c 2>/dev/null

Linux中查看ip地址的命令是?

ip a(推荐,RHEL/Rocky 8+默认可用)

ifconfig(传统命令,需安装net-tools包:yum install net-tools)

Linux中显示当前位置的命令是?

pwd

Linux中查看CPU信息命令是?

lscpu

查看内存信息命令是?

cat /proc/meminfo

查看/etc/passwd文件前两行如何操作?

head -2 /etc/passwd

查看/etc/passwd中包含root的行?

grep root /etc/passwd

命令行基础

命令行完整格式:

命令[选项]......[参数1][参数2]......

查看命令帮助信息

cat --help

Tab键自动补全

可补齐命令字、选项、参数、文件路径、软件名、服务名

快捷键

复制代码
Ctrl+C:结束正在运行的命令
Esc+.或Alt+.:粘贴上一个命令的参数
Ctrl + l:清空整个屏幕
Ctrl + u:从光标处清空至行首
Ctrl + k:从光标处清空至行尾
Home键:从光标处快速到行首
End键:从光标处快速到行尾
Ctrl + w:往回删除一个单词(以空格界定)

绝对路径与相对路径

复制代码
.当前目录
..父目录(上一层)
~表示用户的家目录
家用户:专门存放用户个性化信息的目录~
user:用户user的家目录
/root:Linux管理员的家目录
/home:存放所有普通用户的家目录

ls ------ List

格式:ls选项......目录或文件名

常用命令选项:

-l:以长格式显示,显示详细信息

-h:提供易读的容量单位(k、M等)

-d:显示目录本身(而不是内容)的属性

-A:显示所有内容,包含隐藏数据

-R:递归显示目录内容

通配符使用,针对不确定的文档名称,以特殊字符表示

*:任意多个任意字符

?:单个字符(必须要有一个)

a-z\]:匹配范围内的单个字符。注意:匹配结果可能受系统locale设置影响,在某些locale下\[a-z\]可能包含大写字母。若需精确匹配小写字母,可使用\[\[:lower:\]

{a,min,xy}:多组不同的字符串,全匹配

复制代码
[root@localhost /]#  ls    /dev/tty[5-7]     #匹配tty5、tty6、tty7
[root@localhost /]#  ls    /dev/tty{1,17,20}   #匹配tty1、tty17、tty20

别名的定义

查看已设置的别名

复制代码
alias[别名名称]

定义新的别名

复制代码
alias别名名称='实际执行的命令行'

取消已设置的别名

复制代码
unalias[别名名称]

[root@localhost /]#  hostname               
[root@localhost /]#  alias   hn='hostname'   #临时定义别名
[root@localhost /]#  hn
[root@localhost /]#  alias           #查看系统中有哪些别名
[root@localhost /]#  unalias    hn    #删除hn别名
[root@localhost /]#  hnbash: hn: 未找到命令... 
[root@localhost /]#  alias     myls='ls   -l'   
[root@localhost /]#  myls   /etc/passwd

注意:以上方式定义的别名为临时别名,仅在当前终端会话中有效,关闭终端或重启系统后会失效。若需要永久生效,需将alias命令写入用户的 ~/.bashrc 文件中,例如:

复制代码
[root@localhost /]#  echo "alias hn='hostname'" >> ~/.bashrc
[root@localhost /]#  source ~/.bashrc    #使配置立即生效

目录与文件管理

mkdir ------Make Directory

格式:mkdir/路径/目录名......

[-p]:连同父目录一并创建

复制代码
[root@localhost /]#  mkdir   -p    /opt/aa/bb/cc/dd
[root@localhost /]#  ls   -R    /opt/aa       #递归显示目录内容
[root@localhost /]#  mkdir    -p    /nb04/test04
[root@localhost /]#  ls   -R     /nb04
[root@localhost /]#  mkdir    -p    /cbd/abc01
[root@localhost /]#  ls   -R     /cbd
[root@localhost /]#  mkdir    -p    /xtt/stu01
[root@localhost /]#  ls   -R     /xtt

删除

rm------Remove

格式:rm选项......文件或目录......

常用命令选项:

-r、-f:递归删除(含目录)、强制删除

*安全警告:rm -rf 是非常危险的命令,尤其是 rm -rf / 或 rm -rf / 会删除整个系统的所有数据且无法恢复!使用时务必仔细确认目标路径,建议先用 ls 查看确认后再执行删除操作。**

移动

mv ------ Move

源数据会消失

格式:mv原文件......目标路径

重命名:路径不变的移动

复制

cp------Copy:源数据不会消失

格式:cp 选项... 原文件... 目标路径

常用命令选项

-r:递归,复制目录时必须有此选项

复制代码
[root@localhost /]#  cp      /etc/passwd       /opt
[root@localhost /]#  ls     /opt
[root@localhost /]#  cp    -r     /boot       /opt  
[root@localhost /]#  ls     /opt
[root@localhost /]#  cp    -r     /home      /opt
[root@localhost /]#  ls     /opt

进行强制覆盖

复制代码
[root@localhost /]#  \cp  -r  /boot  /opt #本次操作临时取消别名
[root@localhost /]#  \cp  -r  /boot  /opt #本次操作临时取消别名

复制可以重新命名,目标路径下数据的名称

复制代码
[root@localhost /]#  cp    -r    /home   /opt/myhome
[root@localhost /]#  ls    /opt
[root@localhost /]#  cp    /etc/redhat-release      /opt/r.txt
[root@localhost /]#  ls    /opt          
[root@localhost /]#  ls     /opt
[root@localhost /]#  cp    -r     /root     /opt/myroot
[root@localhost /]#  ls    /opt
[root@localhost /]#  cp   -r     /root      /opt/myroot  
[root@localhost /]#  ls      /opt/myroot

复制可以支持两个以上的参数,永远把最后一个参数作为目标,其他的所有的参数都作为源数据

复制代码
[root@localhost /]# mkdir    /nb05
[root@localhost /]# ls   /nb05
[root@localhost /]# cp    -r    /home    /boot   /etc/passwd    /etc/shells      /nb05
[root@localhost /]# ls    /nb05

复制与一个点进行连用,将数据复制到当前路径下

复制代码
[root@localhost /]#  cd    /etc/sysconfig/network-scripts/
[root@localhost /]#  pwd
[root@localhost /]#  cp   /etc/passwd     .  
[root@localhost /]#  ls
[root@localhost /]#  cd    /mnt        
[root@localhost /]#  pwd
[root@localhost /]#  cp   /etc/shells    .  
[root@localhost /]#  ls

grep命令与基础正则匹配

格式:grep选项'字符串'文本文件

基本使用

复制代码
[root@svr1 /]# grep  root   /etc/passwd
[root@svr1 /]# grep  bash  /etc/passwd
[root@svr1 /]# grep  lisi    /etc/passwd
[root@svr1 /]# grep  zhangsan   /etc/passwd

常用命令选项

-v,取反匹配(不包含)

-i,忽略大小写

复制代码
[root@localhost /]#  grep   root     /etc/passwd
[root@localhost /]#  grep  -v   root    /etc/passwd
[root@localhost /]#  grep  ROOT    /etc/passwd
[root@localhost /]#  grep  -i  ROOT  /etc/passwd

基础正则匹配

^word以字符串word开头

word$以字符串word结尾

复制代码
[root@localhost /]#  grep   ^root   /etc/passwd
[root@localhost /]#  grep   ^bin     /etc/passwd
[root@localhost /]#  grep   root$    /etc/passwd
[root@localhost /]#  grep   bash$    /etc/passwd 

^$表示空行

复制代码
[root@localhost /]#  cat   /etc/default/useradd
[root@localhost /]#  grep  ^$  /etc/default/useradd #过滤空行
[root@localhost /]#  grep -v  ^$  /etc/default/useradd#过滤不要空行的内容
[root@localhost /]#  cat   /etc/login.defs
[root@localhost /]#  grep  ^$  /etc/login.defs #过滤空行
[root@localhost /]#  grep -v  ^$  /etc/login.defs  #过滤不要空行的内容

如果vim异常退出产生了交换文件(.swp),需要先删除交换文件再重新编辑:

复制代码
[root@localhost ~]# rm  -rf   /opt/.1.txt.swp
[root@localhost ~]# vim  /opt/1.txt

mount挂载操作

  1. 连接光盘镜像文件
  2. 将光盘挂载到/mnt目录,检查/mnt目录内容
  3. 卸载光盘设备,再次检查目录内容

实现此案例需要按照如下步骤进行

步骤一:使用ls命令列出指定的文件

  1. 连接光盘镜像文件

    复制代码
    [root@server0 ~]# mount /dev/cdrom /mnt   //挂载设备mount: /dev/sr0 写保护,将以只读方式挂载
  2. 将光盘挂载到/mnt目录,检查/mnt目录内容

    复制代码
    [root@server0 ~]# ls /mnt 	//访问设备内容AppStream
    BaseOS EFI images isolinux LICENSE media.repo
  3. 卸载光盘设备,再次检查目录内容

    复制代码
    [root@server0 ~]# umount /mnt/		//卸载设备[root@server ~]# ls /mnt/		//确认结果[root@server0 ~]

    vim命令模式常用操作

    • dd:删除(剪切)光标所在的整行
    • yy:复制光标所在的整行
    • p:粘贴到光标行的下方
    • u:撤销上一步操作
    • /keyword:向下搜索关键词keyword(摁n跳转到下一个匹配)

    vim末行模式常用操作

    • :wq 保存并退出
    • :q! 不保存强制退出
    • :set nu 显示行号
    • :set nonu 取消显示行号

    系统中默认的解释器是哪个程序

    /bin/bash

    结束当前正在运行的命令,快捷键是

    Ctrl+l

    如何快速去往用户root的家目录

    cd /root或者cd ~root或者cd ~

    ls常用选项有哪些

    -l -h -d -A -R

    如何查看linux系统具体版本

    cat /etc/redhat-release

    实现hn相当于hostname

    alias hn='hostname'

    强制删除一个文件夹以及其内容

    rm -rf

    cp命令如果源数据是一个目录,需要加什么选项

    -r

    vim有几种工作模式,分别是什么

    命令模式、输入模式(插入模式)、末行模式

    过滤/etc/passwd文件内容,不包含root行

    grep -v root /etc/passwd

    将/opt重新命名成/student

    mv /opt /student

    tar打包与压缩

    tar 本身是一个打包(归档)工具,将多个文件/目录合并为一个归档文件。配合 -z/-j/-J 选项可在打包的同时调用压缩工具进行压缩。

    格式:tar 选项 /路径/归档包名字/源数据

    -c:创建新的文档

    -f:指定归档包名字(必须在所有选项最后)

    -z、-j、-J:调用.gz、.bz2、.xz格式的压缩工具进行处理

    复制代码
    [root@localhost /]# tar -zcf  /root/cbd.tar.gz  /etc/passwd  
    [root@localhost /]# ls  /root                
    [root@localhost /]# tar -jcf /root/haha.tar.bz2  /etc/passwd  
    [root@localhost /]# ls   /root
    [root@localhost /]# tar -Jcf  /root/cctv.tar.xz  /etc/passwd   
    [root@localhost /]# ls   /root

    注意:如果不加 -z/-j/-J 选项,则只打包不压缩,生成的文件通常命名为 .tar 后缀。

    网站根目录/var/www下比较重要的目录

    1. sites //站点目录
    2. scripts //脚本文件 找秘钥或者算法或者其他的一些python文件全去这里找,如果没有该文件,则可以搜password、hash、md5、
    3. robots.txt //告诉爬虫哪些可以访问哪些不可用访问
    4. modules //模块文件
    5. includes //文件包含使用的其他站点文件
    6. README.txt //参考手册
    7. update.php //更新脚本
    8. web.config //web的配置文件
相关推荐
加油码1 小时前
探秘 volatile关键字:编译器的过度优化
linux·bug·信号处理
不会就选b2 小时前
Linux之线程(二)
linux·运维·服务器
代码AC不AC2 小时前
【Linux】NAT与代理
linux·nat·代理
leisoo809712 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
青瓦梦滋13 小时前
传输层UDP/TCP协议
linux·网络·c++·网络协议·tcp/ip·udp
ltl13 小时前
机密计算:SGX、SEV-SNP、TDX 与 ARM CCA
linux
ltl13 小时前
互联与网络:NVLink、InfiniBand、RoCE 与国产替代
linux
码上上班13 小时前
tengine知识点
linux·服务器·centos
雾时之林16 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库