linux里面的常用命令4

1.链接文件: 暂时理解为快捷方式--link

 ln - make links between files

 -s, --symbolic  创建符号链接(软链接)soft
      make symbolic links instead of hard links

ln -s  hunan   xiang #hunan为源文件名 xiang为链接文件名
ln -s  guangdong  yue #guangdong为源文件名 yue为链接文件名

补充知识

pwd -P #-P, --physical  物理路径, 消除所有的符号链接,显示真正的路径
#$?代表上一条命令的返回值
#0     代表上一条命令执行成功
#非0   代表上一条命令执行失败


2.alias--给命令定义别名   unalias--给命令消除别名

alias #查看有哪些别名在shell里定义的
alias  c='clear'  #临时自定义c是clear的别名 ,clear是操作系统里的命令,自定义的别名不要操作系统里的已经存在的命令冲突,不然会导致linux系统里的命令不能使用
alias mk='mkdir -p'   #临时定义一个别名,这个命令可以使用
#作用: 提示效率,相当于一个命令的快捷键

 永久定义一个别名,需要进入/root/.bashrc

vim /root/.bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias c='clear'
alias mk='mkdir -p'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

 在当前终端里执行/root/.bashrc脚本文件
 脚本文件是一个存放了很多linux命令的文件,可以运行里面的命令
 脚本文件在执行的时候,会从第1行命令开始往下执行,一条一条去执行

source  /root/.bashrc

 unalias 取消别名

unalias  c #取消别名c
unalias  mk #取消别名mk

3.du 统计文件或者文件夹的大小

 du - estimate file space usage
 disk usage
-s, --summarize  汇总
              display only a total for each argument
-h, --human-readable
              print sizes in human readable format (e.g., 1K 234M 2G)

du -sh /usr
du -s -h /usr
du -hs /usr

4.rm  : 删除命令,非常危险的命令 ---》删除任何东西的时候,反问自己,是否还需要,是否有备份

rm - remove files or directories
-f, --force  强制执行
              ignore nonexistent files and arguments, never prompt
-r, -R, --recursive 递归  
              remove directories and their contents recursively

rm  太危险了,删除文件
    执行rm命令的是,背后我帮做一个备份,剪切到一个文件夹里,看起来像删除了
实现windows里的回收站的功能
    rm  -->mv  -->/backup

rm -rf /aa #这个命令会强制删除/aa文件夹里面的所有文件,以及下级文件
rm -rf /*  #非常危险,会删除根目录下的所有文件

在 Linux 系统中,执行rm -rf /是极其危险的操作,因为它会强制删除根目录(/)下的所有文件和目录,包括系统文件和应用数据,这会导致系统崩溃并且无法启动。

如果你的目的是清理系统或删除某些文件,请确保你完全理解命令的作用,并且只在必要时使用。对于删除文件或目录,建议使用更安全的命令或方法,比如使用 rm 命令时加上 -i 选项进行确认,或者手动检查和删除文件。

如果你已经执行了这个命令,并且系统已经受到影响,你可能需要从备份中恢复数据,或者重新安装操作系统来修复系统。

rm -rf *#这个命令也非常危险,会删除当前文件夹里面的所有文件

执行rm -rf *命令会删除当前目录下的所有文件和子目录,并且不会有任何确认提示。这是一个非常危险的操作,因为它会永久性地删除所有选中的文件和目录,且无法恢复。

在执行此类命令之前,请务必确保你完全理解其后果,并且已经做好了充分的备份。如果你只是想删除某些特定的文件或目录,请确保你的命令指向的是正确的目标,而不是使用通配符(如 *)来选择所有文件和目录。

如果你不小心执行了这个命令,并且删除了重要文件,你可能需要从备份中恢复,或者尝试使用数据恢复工具来恢复删除的文件。但是,请注意,数据恢复并不总是成功的,特别是如果删除的文件所在的磁盘空间已经被新数据覆盖。

touch  peng{1..100}
rm -rf peng?   #删除文件名以peng开头后面接一个字符串的文件
rm -rf peng??  #删除文件名以peng开头后面接2个字符串的文件
rm -rf peng*  #删除文件名以peng开头后面任意的文件
rm -rf *  #删除当前目录下的所有的文件和文件夹,隐藏文件和文件夹不删除

补充知识,通配符:

通配符
        * 代表任意个任意字符串
        ? 代表一个任意字符串

5.cp 复制文件和文件夹

cp  a.txt  peng#a.txt表示源文件,peng是目的地

cp  -r  peng  pengyaqin#复制文件夹到文件夹里 -r  递归复制

cp peng*  changsha -r#表示复制已peng开头的文件,复制到changsha

cp a.txt changsha/b.txt#复制、粘贴重命名一步到位

cp /etc/hosts  . -r#将/etc/hosts使用递归复制,复制到当前文件

6.mv  - - move (rename) files

   1.重命名
        当后面接的文件或者文件夹的名字不存在的时候,就是重命名
    2.移动(剪切)
        当后面接的文件夹的名字存在的时候,就是移动

重命名

 mv  zhijiangtv/  zhejiangtv#将zhijiangtv改名为zhejiangtv

移动

mv cs.txt  hunantv#将cs.txt移动到hunantv文件夹中

对通配符的支持

mv cs*.txt  hunantv#将所有以cs开头的txt文件,移动到hunantv

7.对文件做判断

[ -e /etc/hosts ]  #判断/etc/hosts文件是否存在  exist
[ -d /etc/hosts ]  #判断/etc/hosts是否是目录  directory
[ -f /etc/hosts ]  #判断/etc/hosts是否是文件  file

8.重定向

&>重定向到/dev/null 不影响命令的返回值


echo  "hello,world" >cs.txt#将hello,world写入cs.txt,并创建cs.txt

>sc.txt   #清空文件里的内容
 

9.cut 截取 -c  截取字符串 character

     mkpasswd - generate new password, optionally apply it to a user
     -l 长度   the length of the password
     -d   the  minimum  number  of digits 数字的个数
     -c  the minimum number of lowercase alphabetic characters 小写字母的个数
     -C   the minimum number of uppercase alphabetic characters  大写字母的个数
     -s  the minimum number of special characters  特殊字符的个数

 echo $RANDOM|sha256sum |cut -c 10-19#$RANDOM 生成的是一个在一定范围内的整数(通常是 0 到 32767),将这个值传递给sha256sum 进行哈希,截取其中第10位到19位
mkpasswd  -l 10  -d 2 -s 2#-l 10指定密码长度为10个字符,-d 2表示密码中至少包含2个数字,-s 2表示密码中至少包含2个特殊字符

10.文件处理工具

vim的末行模式
:set number    显示行号
:set nu    显示行号
:set nonu   不显示行号

cat - concatenate files and print on the standard output 

cat -n  /etc/passwd #查看文件的内容,并且显示行号
cat user_password.txt  for.sh  cs.txt   #将3个文件里的内容连接起来一起输出到屏幕上

cat user_password.txt  for.sh  cs.txt  >3.txt  #将3个文件里的内容保存到3.txt文件里

#here document的用法:  文档就在这里 ---》生成一个指定内容的文件
 cat  >changsha.txt  <<EOF
> xixi
> haha
> wawa
> yaya
> end
> EOF


#cat 是命令
#>changsha.txt 帮助产生一个文件changsha.txt   --》会清空changsha.txt文件的内容
#<<EOF  输入的内容遇到EOF的时候,表示要结束输入  end of file

使用脚本gen_peng_info.sh,来实现一下here document

#!/bin/bash

#生成文件feng_info.txt
cat >feng_info.txt  <<EOF
feng de yong
sanchuang
furongqu
changsha
EOF

cat  feng_info.txt

echo "脚本执行完毕"
bash gen_feng_info.sh 

head  默认会显示头10行

tail 默认会显示尾10行

tail  -n  2  取最后2行
tail -n -2 取最后2行
tail -2  取最后2行

head -3 /etc/passwd#显示/etc/passwd文件的前3行内容。
head -n 3 /etc/passwd#同样用于显示/etc/passwd文件的前3行内容,-n选项后面跟数字,明确指定要显示的行数。
cat -n /etc/passwd | head -15 | tail -11#首先使用cat -n给/etc/passwd文件的每一行加上行号,然后通过head -15取前15行,最后通过tail -11取这15行中的最后11行。
head -8 /etc/passwd | tail -1#先取/etc/passwd文件的前8行,然后从这8行中取最后1行,即第8行。
tail -n +2#显示文件从第2行开始到末尾的所有内容。
df -Th | tail -n 2#先执行df -Th查看磁盘使用情况,并通过人类可读的格式显示,然后通过tail -n 2取结果的最后2行。
df -Th | tail -2#与上一个命令作用相同,-2是-n 2的简写,同样用于取结果的最后2行。
tail -f /var/log/secure#用于实时跟踪/var/log/secure文件的新增内容。当文件有新内容写入时,tail命令会立即显示。
tailf /var/log/secure#tailf命令与tail -f功能相同,也是用于实时跟踪文件的新增内容。tailf在某些系统中可能作为tail -f的别名存在。

more 分页显示: 一页一页的显示 --》慢慢的查看
            上一页,下一页
            enter  一行一行往下看
            空格 下一页
            b  上一页  back
            q 退出 quit
            ctrl+c 强行终止

less分页显示: 一页一页的显示 --》慢慢的查看
            上一页,下一页
            enter  一行一行往下看
            空格 下一页     pagedown
            b  上一页  back   pageup
            q 退出 quit
            ctrl+c 强行终止
        less不会自动退出,显示完所有的内容

11.locate

locate命令是到数据库文件里去查找文件在哪里的,并不是直接到/目录下,一个一个的查找的
最新的数据没有,需要先updatedb更新数据库的数据

### 回答1: grep命令是Linux中常用的文本搜索工具,它可以在文件中查找指定的字符串或模式,并将匹配的行打印出来。常用的grep命令包括: 1. grep "pattern" file:在文件中查找指定的字符串或模式,并将匹配的行打印出来。 2. grep -r "pattern" dir:在指定目录及其子目录中查找指定的字符串或模式,并将匹配的行打印出来。 3. grep -i "pattern" file:在文件中查找指定的字符串或模式,忽略大小写,并将匹配的行打印出来。 4. grep -v "pattern" file:在文件中查找不包含指定的字符串或模式的行,并将这些行打印出来。 5. grep -c "pattern" file:在文件中查找指定的字符串或模式,并统计匹配的行数。 6. grep -n "pattern" file:在文件中查找指定的字符串或模式,并将匹配的行及其行号打印出来。 7. grep -E "pattern" file:在文件中使用扩展正则表达式查找指定的字符串或模式,并将匹配的行打印出来。 8. grep -A num "pattern" file:在文件中查找指定的字符串或模式,并将匹配的行及其后面num行打印出来。 9. grep -B num "pattern" file:在文件中查找指定的字符串或模式,并将匹配的行及其前面num行打印出来。 10. grep -C num "pattern" file:在文件中查找指定的字符串或模式,并将匹配的行及其前后各num行打印出来。 ### 回答2: grep是在Linux系统中非常常用的文本搜索工具。它用于在文件中查找指定的模式,并返回所有匹配该模式的行。 grep的常用选项和用法包括: 1. 基本用法:grep命令的基本语法是`grep [选项] 模式 文件`。它会在一个或多个文件中搜索匹配模式的行,并将其输出到标准输出。 2. 常见选项: - `-i`:忽略大小写。 - `-v`:反向匹配,即打印不包含模式的行。 - `-r`:递归搜索目录中的文件。 - `-n`:显示匹配行的行号。 - `-l`:仅显示包含匹配模式的文件名。 - `-c`:显示匹配模式的行数。 - `-A num`:显示匹配行以及后面num行的内容。 - `-B num`:显示匹配行以及前面num行的内容。 - `-C num`:显示匹配行以及前后num行的内容。 3. 正则表达式功能:grep支持基本正则表达式(BRE)和扩展正则表达式(ERE)。正则表达式可以用来描述模式,并允许更复杂的匹配规则。 4. 使用管道:grep可以与其他命令结合使用,通过管道符号 `|` 将标准输出传递给后面的命令,实现更强大的文本搜索和处理功能。 5. 其他用法:可以使用通配符或正则表达式来匹配文件名,使用文件名通配符进行文件筛选,同时搜索多个模式等等。 总结起来,grep是Linux中非常强大且常用的文本搜索工具,通过指定模式和选项,可以高效地在文件中搜索匹配的内容,并进行相应的处理和输出。它在日常的文本处理、日志分析和系统管理等方面都发挥着重要作用。 ### 回答3: grep是Linux操作系统中常用的命令之一,它用于在文件或标准输入中查找匹配指定模式的文本行,并将匹配结果输出。 grep命令的基本语法如下: grep [选项] [模式] [文件] 常见的选项包括: - -i,忽略大小写进行匹配 - -v,显示不匹配的行 - -r,递归地查找给定目录下的文件 - -n,显示匹配行的行号 - -l,只显示包含匹配项的文件名 模式可以是简单的文本字符串,也可以是正则表达式。 下面是一些grep命令的例子: 1. 搜索单个文件中包含指定字符串的行: grep "keyword" filename 2. 搜索多个文件中包含指定字符串的行: grep "keyword" file1 file2 3. 递归地搜索目录下所有文件中包含指定字符串的行: grep -r "keyword" directory 4. 搜索时忽略大小写: grep -i "keyword" filename 5. 显示不匹配的行: grep -v "keyword" filename 6. 显示匹配行的行号: grep -n "keyword" filename 7. 只显示包含匹配项的文件名: grep -l "keyword" file1 file2 除了这些选项之外,grep还有许多其他功能和用法,可以根据具体需求进行深入学习和使用。grep命令在Linux系统中广泛应用于文本搜索和处理任务中,对于系统管理员和开发者来说非常实用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值