admin 管理员组

文章数量: 887021

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更新数据库的数据

本文标签: 常用命令 Linux