目录
Linux文件时间:访问时间、数据修改时间、状态修改时间;没有创建时间
3.cat命令 查看文件内容或文件夹 合并文件并打印输出到标准输出
8.1软链接——将文件、文件夹链接到其它位置,类似Windows系统的快捷方式
一、命令格式
- command [-options] [parameter]
- command: 命令本身
- -options:[可选,非必填]命令的选项调整命令的功能
- parameter:[可选,非必填]命令的操作对象
Linux命令来源:Shell内置命令和外部命令;shell自带命令,没有执行文件
二、目录操作命令
1.ls命令 :列出目录下内容
- 语法:ls [-l -h -a] [目录]
- 命令: ls : list 列出文件夹信息
- 选项:可组合使用,顺序随意
-l,long list 以列表形式查看
-h,配合-l,以更加人性化的方式显示文件大小 kb mb gb
-a:all ,显示全部文件,包括隐藏文件,以 . 开头文件
-d:目录本身信息,-ld
-i: i节点
- 参数:被查看的目录,不提供参数,表示查看当前工作目录
- 权限:所有用户
- 路径:/usr/bin/
ls -l显示详细列表
ls -lh 把文件大小以人性化的方式显示
ls -a显示所有的文件,包含隐藏文件,隐藏文件是以“.”开头的文件
ll 等于 ls -l ,ll-h
ls *txt 查看当前文件夹下以txt结尾的所有文件
#例: ls ls -lha /root ls -a -l
[root@localhost local]# ls
bin etc games include lib lib64 libexec sbin share src
[root@localhost local]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc .tcshrc test2 wy
[root@localhost ~]# ls -lh
总用量 4.0K
-rw-------. 1 root root 1.3K 7月 18 2022 anaconda-ks.cfg
drwxr-xr-x 3 root root 16 2月 3 11:12 test1
#权限 引用计数 所有者 所属组 大小 文件修改时间 文件名
隐藏文件、文件夹
在Linux中以.开头的,均是隐藏的。
默认不显示出来,需要-a选项才可查看到。
2.cd命令 切换工作目录
- 语法:cd [目录] Change Directory
- 命令:shell内置命令
- 选项:很少使用 -P(软连接的物理目录) -L(软连接的目录)
- 参数:切换目录,不提供默认切换到当前登录用户HOME目录
- 权限:所有用户
- 路径:Shell内置命令
cd/home 绝对路径,以根目录开头 cd admin 相对路径,不以根目录开头,以文件名开头 cd .. 返回上一级目录 cd ~回到home目录,/home/damiin cd -回看功能
3.pwd命令 当前工作目录
语法:pwd Print Work Directory
HOME目录
每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。
普通用户的HOME目录,默认在:/home/用户名
root用户的HOME目录,在:/root
FinalShell登陆终端后,默认的工作目录就是用户的HOME目录
相对路径、绝对路径
相对路径, 非 /开头的称之为相对路径
相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前工作目录内的test文件夹内的a.txt文件
绝对路径, 以 /开头的称之为绝对路径
绝对路径以根目录作为起点
特殊路径符
•.. 表示上一级目录,比如:cd .. 切换到上一级目录,cd ../.. 切换到上二级的目录
•. 当前目录,比如 cd ./Desktop 表示切换到当前目录下的Desktop内,和cd Desktop一样
•~ 表示HOME目录,比如:cd ~/Desktop,切换到HOME内的Desktop目录
•- 上次所在目录
4.mkdir命令 创建文件夹
- 语法:mkdir [-p] [目录]
- 命令: mkdir :Make Directories
- 选项: -p:可选,递归创建所需目录
- 参数必填:表示要创建的目录的路径,相对路径或绝对路径均可
- 权限:所有用户
- 路径:/usr/bin/
#递归创建多层目录 mkdir -p test1/test1/user ls mkdir 创建文件夹(相对路径,当前目录下创建文件夹) mkdir /home/admin/(绝对路径) mkdir /home/admin 如果上级目录不存在,加上-p自动创建父目录 mkdir a b 在当前目录创建多个文件夹 mkdir a/{c,d}在指定目录下创建多个文件夹 mkdir .abc 以.开头 创建隐藏目录
5.rmdir命令-很少用 删除空目录
语法:rmdir [-p] [目录]
命令: rmdir :Remove Empty Directories
选项: -p:可选,递归删除空目录
参数必填:表示要创建的目录的路径,相对路径或绝对路径均可
权限:所有用户
mkdir -p test1/test1/user
6.tree命令 -树形展示目录下文件——没有命令需要安装
- 语法:tree [目录]
- tree :list contents of directories in a tree-like format
- 权限:所有用户
- 默认不安装,先安装 yum install tree
三、文件操作命令
1.touch命令——修改文件时间戳,文件不存在建立空文件
- 语法:touch [选项] [目录或文件]
- touch:change file timestamps
- 选项:
-a:只修改文件的访问时间
-c:文件不存在,不建立新文件
-d:把文件时间改为指定时间
-m:只修改文件的数据修改时间
- 参数必填:Linux路径:被创建的文件路径
- 权限:所有用户
touch abc.txt 在当前目录下创建 如果指定了目录,必须保证上级目录存在 touch .abc 创建隐藏文件 gedit abc.txt使用记事本打开文本
Linux文件时间:访问时间、数据修改时间、状态修改时间;没有创建时间
1.访问时间 Access Time
2.数据修改时间:Modify Time
3.状态修改时间:Change Time(修改文件数据、文件所有者状态等时间都会修改)
2.stat命令 显示文件和文件系统的详细信息
- 语法:stat [选项] [目录或文件]
- stat:display file or file system status
- 选项:-f:查看文件所在的文件系统信息而不是查看文件的信息
- 参数必填:Linux路径:被创建的文件路径
- 权限:所有用户
[root@localhost ~]# stat hello.txt 文件:"hello.txt" 大小:123 块:8 IO 块:4096 普通文件 设备:fd00h/64768d Inode:67157104 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 最近访问:2023-02-15 20:05:23.091531554 +0800 最近更改:2023-02-06 10:57:25.164775438 +0800 最近改动:2023-02-06 10:57:25.172775657 +0800 创建时间:- # [root@localhost ~]# stat -f hello.txt 文件:"hello.txt" ID:fd0000000000 文件名长度:255 类型:xfs 块大小:4096 基本块大小:4096 块:总计:12312705 空闲:11639432 可用:11639432 Inodes: 总计:24637440 空闲:24603853
3.cat命令 查看文件内容或文件夹 合并文件并打印输出到标准输出
- 语法:cat 【选项】 [Linux路径]
- cat:concatenate files and print on the standard outpout
- 选项:
- A: 相当于 -vET,展示所有隐藏符号
- v: 列出特殊字符,如^和M符号的不可打印字符
- E: 显示每行结尾的回车符$
- T: 制表符Tab键用^I显示
- n: 显示行号
- s: 此选项将抑制多个空输出行s.
- b: 此选项用于提供具有非空行的数字,并覆盖选项-n
- e: 等同于选项 -vE
- t: 等同于选项 -vT
- 参数必填:被查看的文件路径,文件或文件夹
- 权限:所有用户
4.more命令 分屏显示文件,支持翻页
- 语法:more [Linux路径]
- more : file perusal filter for crt viewin
- 参数必填:被查看的文件路径
- 权限:所有用户
- 交互:
- 空格键:向下翻页
- b:向上翻页
- Enter键:向下滚动一行
- /字符串:搜索指定字符串
- q :退出
more /etc/services
5.less命令 分行显示文件内容
- 语法:less [Linux路径]
- less :opppsite of more
- 权限:所有用户
6.head命令 显示文件开头
- 语法:head [-v -n ] 文件名
- 命令:head ,output the first part of files
- 选项:
- -n 行数:文件头开始指定行数,默认10行
- -v: 显示文件名
- 权限:所有用户
[root@localhost ~]# head -20 -v hello.txt ==> hello.txt <== #默认显示10行
7.tail命令 显示文件结尾
- 语法:tail [-f -n ] 文件名
- 命令:tail ,output the last part of files
- 选项:
权限:所有用户
- -n 行数:文件末尾指定行数,默认10行
- -f: 持续监听文件新增内容, ctrl+c停止
#默认显示10行,持续监听 [root@localhost ~]#tail -f hello.txt wy ^C
8.ln 命令 文件之间建立链接
- 语法:ln [选项] 源文件 目标文件
- 命令:ln ,make links between file
- 选项:
- -s:建立软链接, ln -s
- -f:强制。如果目标文件已存在,删除目标文件后再建立链接文件
- 权限:所有用户
8.1软链接——将文件、文件夹链接到其它位置,类似Windows系统的快捷方式
- 语法:ln -s 源文件 目标文件
- 选项:-f:强制。如果目标文件已存在,删除目标文件后再建立链接文件
- 源文件 :被链接的文件或文件夹
- 目标文件:要链接去的目的地
- inode号不同,block 内存源文件的文件名和inode号
ln -s / etc / yum.conf ~/yum.conf ln -s / etc /yum ~/yum
8.2硬链接
- 硬链接: ln 源文件 目标文件
- 不创建新的 inode号索引 和block
- 不能跨文件系统(分区)建立
- 不能链接目录
- 文件修改:源文件或者硬链接文件同步修改
- 文件删除:只删除一个文件,另一个文件还可以被访问
四、目录和文件都能操作的命令
1.rm命令 删除文件、文件夹
- 语法:rm [-r -f] 参数 1.参数2...参数N
- 命令: rm, remove files or directories
- 参数:
支持多个,每一个表示被删除的,空格进行分隔
支持通配符 *,用来做模糊匹配
- 选项:
-r,recursion 递归 删除文件夹使用
-f,force,强制删除,不会给确认提示,一般root用户会用到
-i: 交互删除,在删除之前询问用户,默认可以不写
- 权限:所有用户
rm -rf #类似格式化 rm a.txt 删除文件 rm abv -r 删除目录 rm * 删除当前目录下的所有内容 ,不能删除隐藏文件 . 和 .. 删除不掉
2.cp命令 复制文件、文件夹
- 语法:cp 【选项】源文件 目标文件
- 命令:cp,copy files and directories
- 选项:
- -r,递归复制,用于目录
- -d: 软链接复制为软链接,不加复制软链接的源文件
- -i:询问是否覆盖,默认执行
- -l: 复制为源文件的硬链接
- -s: 复制为源文件的软链接
- -p: 复制保留源文件的属性:所有者、所在组、权限和时间
- -a :同 -dpr,用于备份
- 参数
- 源文件,表示被复制的文件或文件夹
- 目标文件,表示要复制去的地方
- 权限:所有用户
#复制文件夹必须使用-r cp -r test test1 #备份使用 -a cp -a test test1 cp index.txt 新文件 -a :复制所有内容,属性,时间,保持文本原有属性 cp index.txt 新目录 -r 复制目录 cp index.txt new.txt -i 是否覆盖 cp index.txt new inndex.txt -f 默认覆盖 index.text new index.txt -v显示拷贝进度
3.mv命令 移动文件、文件夹
- 语法:mv 【选项】源文件 目标文件
- 命令:mv,move(rename) files
- 选项:
- -f:强制覆盖
- -i:询问,默认选项
- -n:不覆盖移动,也不询问用户
- -v:显示详细信息
- 参数:
•源文件 ,表示被移动的文件或文件夹•目标文件 ,表示要移动去的地方,如果同一目录,改名
- 权限:所有用户
[root@localhost ~]# mv -v hello1.txt hello2.txt "hello1.txt" -> "hello2.txt" mv 1.txt 2.txt 重命名 mv 1.txt 目录/2.txt
五、权限管理命令
1.chmod 【-R】权限 文件或文件夹
2.chown 【-R】所有者:所属组 文件或目录
3.chgrp 所属组 文件或目录
六、帮助命令
1.man命令 联机帮助手册——查看命令的详细手册
语法:man 【选项】命令
man:format and display theon-line manual pages
选项
-f:查看命令拥有哪个级别的帮助 whatis
-k:查看命令名包含指定字符串的所有相关命令的帮助 apropos
man ls > ls-man.txt 输出到文件,在翻译查看 #查询命令意思 man -f whatis 命令 man -k apropos whereis 命令 #命令位置 whoami #当前登录用户是哪个
2.info 命令
- 语法:info 命令
- 快捷键操作,*可以enter查看,q退出
3.help 命令 只能获取shell内置命令的帮助
语法:help 内置命令
shell内置命令
4.--help 命令 查看帮助
语法:命令 --help
man命令的信息简要版
例:ls --help
七、搜索命令——不要在服务器访问高峰执行大范围搜索命令
1.whereis 命令——搜索命令位置和帮助文档位置
- 语法:whereis 【选项】命令
- whereis: locate the binary,source,and manual page files for a command
- 选项
- -b:只查找二进制命令
- -m:只查找帮助文档
- 查找二进制命令、源文件和帮助文档的命令
2.which 命令——搜索命令位置和别名
- 语法:which 命令
- which : shows the full path of commads
[root@localhost ~]# whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz [root@localhost ~]# which ls alias ls='ls --color=auto' /usr/bin/ls
3.locate快速搜索命令——按文件名搜索文件
语法:locate【选项】文件名
locate:find files by name
选项: -i 忽略大小写
搜索locate数据库,数据快:
updatedb更新locate数据库,/tmp排除
4.find命令 ——硬盘搜索
- 语法:find 搜索路径 【选项】搜索内容
- find: search for files in a director hierarchy
1.按文件名搜索
- 选项:
- -name:按文件名搜索
- -iname:按文件名搜索,不区分大小写
- -inum:按inode号搜索
- 搜索内容支持通配符*, 比如:*test表示搜索任意以test结尾的文件
[root@localhost wy]# find /root -name '*test*' /root/1test2 /root/test2/test3
2.按文件大小搜索
- 选项 -size [ + - ]大小:按照指定大小搜索文件
- 大小单位:b, k(小写)表示kb,M 表示MB,G表示GB
[root@localhost wy]# find / -size -10k 查找小于10kb的文件 [root@localhost wy]# find / -size +100M 查找大于100M的文件 [root@localhost wy]# find / -size +1G 查找大于1G的文件
3.按修改时间搜索
- 选项:
- -atime [ + - ]时间:按文件访问时间搜索
- -mtime[ + - ]时间:按文件数据修改时间搜索
- -ctime[ + - ]时间:按文件状态修改时间搜索
- 时间单位默认天,amin ,mmin,cmin 默认单位分钟
[root@localhost ~]# find -mtime -5 #查找5天内修改的文件 ./test2 ./hello.txt
4.按权限搜索
- 选项:
- -perm 权限模式:搜索文件权限等于权限模式的文件
- -perm + 权限模式:搜索文件权限全部包含权限模式的文件,权限及以上
- -perm - 权限模式:搜索文件权限包含权限模式的任一权限的文件,权限及以下
[root@localhost ~]# find -perm 400 #400权限 [root@localhost ~]# find -perm -400 #400权限及以上 [root@localhost ~]# find -perm /400 #400权限及以下
5.按所有者和所属组搜索
- 选项:
- -uid 用户ID:搜索所有者是用户ID的文件
- -giid 组ID:搜索所属组是指定组ID的文件
- -user 用户名:搜索所有者是指定用户名的文件
- -group 组名:搜索所属组是指定组名的文件
- -nouser :搜索没有所有者的文件,查找垃圾文件
[root@localhost test2]# find -nouser #查找垃圾文件
6.按文件类型搜索
- 选项:
- -type d:搜索目录
- -type f:搜索普通文件
- -type l:搜索软链接文件
[root@localhost ~]# find test2/ -type d test2/
7.逻辑运算符
- 选项:拼接两个条件搜索
- -a:and与
- -o:or或
- -not:not非
[root@localhost wy]# find /root -name '*test*' -a -size -10k #查找文件名包含test 并且 大小 小于10k [root@localhost wy]# find /root -name '*test*' -o -name '*name*' #查找文件名包含test 或者 name [root@localhost wy]# find /root -not -name '*test*' #查找文件名不包含test
8.-exec 和 -ok 结果放入执行其他命令
- 选项:拼接两个条件搜索
- -exec :不询问,find -选项 内容 -exec 命令 {} \;
- -ok:询问,find -选项 内容 -ok命令 {}\
- {} \; 固定写法,三部分组成,大括号+空格+/;
[root@localhost test2]# find -perm 444 -exec ls -l {} \; -r--r--r-- 1 root root 0 3月 2 08:36 ./test2 [root@localhost test2]# find -perm 444 -ok ls -l {} \; < ls ... ./test2 > ? y -r--r--r-- 1 root root 0 3月 2 08:36 ./test2
八、压缩解压命令
- tar的常用组合为:
打包压缩:
tar -cvf 1.tar
tar -zcvf 1.tar.gz
tar -jcvf 1.tar.bz2
解压:
tar -xvf
tar -zxvf 压缩包 -c 指定目录
tar -jxvf 压缩包 -c 指定目录
查看压缩包
tar -txf
九、关机和重启命令
1.sync数据同步——关机重启前多同步几次
- 语法:sync
- sync:flush file system buffers
- 刷新文件系统缓冲区
- 关机重启前多同步几次
2.shutdown命令——关机和重启
- 语法:shutdown
- 执行权限:root
- 选项
- -c:取消已经执行的shutdown命令
- -h:关机
- -r:重启
重启与定时重启
shutdown -r now shutdown -r 05:30 #定时重启,但会占用前台终端 shutdown -r 05:30 & #定时重启放入后台, &是后台的意思 shutdown -r +10 #10分钟后重启 shutdown -c 取消重启
关机和定时关机
shutdown -h now shutdown -h 05:30 #定时关机
3.reboot命令——重启
reboot #重启
4.halt和poweroff命令——关机
halt #关机
poweroff #关机
5.init命令——修改运行级别的命令,0关机,6重启
init 0 #关机
init 6 #重启
九、常用网络命令
配置Linux的IP地址
命令行程序:
终端 : terminal
搜索命令
[root@localhost wy]# which cd
/usr/bin/cd
grep命令——过滤关键字
语法:grep [-n] 关键字 文件路径
选项-n,可选,表示在结果中显示匹配的行的行号。
参数:关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,使用””包围起来
文件路径,必填,表示要过滤内容的文件路径,可以作为管道符的输入
[root@localhost wy]# grep -n "a" test1.txt
1:sassaass
2:dfcgha
4:aasgf
wc命令——统计
语法:wc [-c -m -l -w] 文件路径
选项,-c,统计bytes数量
选项,-m,统计字符数量
选项,-l,统计行数
选项,-w,统计单词数量
参数,文件路径,被统计的文件,可作为管道符的输入
[root@localhost wy]# cat test1.txt
sassaass
dfcgha
fgjkhjl
aasgf[root@localhost wy]# wc test1.txt
3 4 29 test1.txt
行数 单词数 字节数 文件名
管道符|
写法:|
功能:将符号左边的结果,作为符号右边的输入
示例:
cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入,
用来过滤itheima关键字
可以支持嵌套:
cat a.txt | grep itheima | grep itcast
echo命令 输出内容
语法:echo 参数
参数:被输出的内容
[root@localhost wy]# echo "当前工作目录:`pwd`" >> test2
[root@localhost wy]# cat test2
当前工作目录:/root/test1/wy
反引号 被两个反引号包围的内容,会作为命令执行
#输出当前工作目录
[root@localhost wy]# echo `pwd`
/root/test1/wy
#把当前工作目录写入文件中
[root@localhost wy]# echo '当前工作目录:`pwd`'>> test1.txt
[root@localhost wy]# tail -2 test1.txt
wy
当前工作目录:`pwd`
重定向符 将符号左边的返回结果写入右边文件中
>表示覆盖输出
>>表示追加输出
[root@localhost wy]# echo 'hello' > test1.txt
[root@localhost wy]# cat test1.txt
hello
[root@localhost wy]# ls >> test1.txt
[root@localhost wy]# cat test1.txt
hello
test1.txt