Linux命令的分类
一、Linux命令的分类
内部命令:是shell自带的命令
外部命令:第三方安装的命令。就是我们额外安装的程序
type是用来查找指定的命令类型
type cd是查找cd命令类型。 出现这个字样cd is a shell builtin 是内部命令。
type ifconfig是查找ifconfig命令类型。 出现这个 ifconfig is /sbin/ifconfig 给的是绝对路径,是外部命令
操作如下:
[root@fanyaning ~]# type cd #:type是用来查找我的命令类型
cd is a shell builtin #:shell是内部命令
[root@fanyaning ~]# type ifconfig
ifconfig is /sbin/ifconfig #:出现路径的 是外部命令
二、which 查找命令的路径
which:是用来查,这个命令的文件在哪里
which ifconfig:是去查ifconfig。
which cd :等于没找到 第一种原因,你压根就没有 第二种:你输错了 第三种:你有,但是我的which没有找到
env:搜索引擎 env帮你去换进变量里去找
环境变量:就是你的系统东西的位置。 找文件,找路径。绝对路径不需要找
操作如下:
[root@fanyaning ~]# which ifconfig #:是用来查找这个命令的文件在哪里
/sbin/ifconfig
[root@fanyaning ~]# which cd #:等于没找到
/usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) #:代码里面的:是环境变量 8个环境变量
三大常见报错之一
command not found (命令没找到) |
---|
1.出现原因命令打错了 |
2.没有这个命令 |
3.env在环境变量里找不到 |
三、Linux命令格式
1、linux命令的通用格式:命令字 [选项] [参数]
2、选项:用于调节命令的具体功能
“-”引导端格式选项,例如“ls -a”
“–”引导长格式选项,例如“ls–help”
注意:多个端格式选项可以合并,例如“ls -alh” 但是多个长格式选项,不能合并
3、参数:命令的对象,如文件、目录名等
例如:[root@www ~]# ls -alh /etc
ls——命令名 -alh——选项 /etc——参数
四、命令快捷键
命令 | 解析 |
---|---|
tab键盘 | 自动补齐文件名,命令等;按两次tab键,系统将输出可用的所有名称列表 |
\反斜杠 | 强行换行 |
ctrl+u | 快速删除光标之前所有字符(可视为剪切) |
ctrl+k | 快读删除光标之后所有字符(可视为剪切) |
ctrl+y | 黏贴刚才所删除(剪切)的字符 |
ctrl+L | 清屏 |
ctrl+c | 取消当前命令行编辑,结束当前执行的命令 |
ctrl+d | 从shell提示中注销关机,类似于输入exit |
ctrl+a | 把光标移动到首行,类似于home键 |
ctrl+e | 把光标移动到行尾,类似于end键 |
ctrl+z | 转入后台运行 |
ctrl+r | 在历史命令中查找(常用并且很好用) |
help是求救,帮助的意思。
ls --help 会出现使用方法
rm --help 会出现使用方法
五、 ll显示文件 或目录的详细信息
ll 相当于ls -l
ls -a显示隐藏文件
ls -lah以人性化显示,就是人能看的懂得模式去显示
操作如下:
[root@localhost ~]# ll #批注:ls -l ==ll
总用量 112
-rw-------. 1 root root 1591 5月 20 20:45 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 5月 26 00:32 ceshi
drwxr-xr-x. 2 root root 4096 5月 25 23:36 data[root@localhost ~]# ls -la #批注:ls -la是显示隐藏文件.开头就是隐藏文件
总用量 244
dr-xr-x---. 30 root root 4096 5月 27 08:38 .
dr-xr-xr-x. 25 root root 4096 5月 25 23:22 ..
drwxr-xr-x. 2 root root 4096 5月 20 20:49 .abrt
-rw-------. 1 root root 1591 5月 20 20:45 anaconda-ks.cfg
-rw-------. 1 root root 5099 5月 27 03:20 .bash_history[root@localhost ~]# ls -lah #批注:以人性化显示,就是人能看懂的模式,价格单位
总用量 244K
dr-xr-x---. 30 root root 4.0K 5月 27 08:38 .
dr-xr-xr-x. 25 root root 4.0K 5月 25 23:22 ..
drwxr-xr-x. 2 root root 4.0K 5月 20 20:49 .abrt
-rw-------. 1 root root 1.6K 5月 20 20:45 anaconda-ks.cfg
六、du是专门用于查看文件占用磁盘大小,也就是文件大小
-s是只统计文件或目录占用磁盘的大小不显示单位(k,m,g)
h是以人性化显示单位(k,m,g)
-sh就是统计文件目录占用磁盘大小以人性化显示
只有一种用法 du -sh
操作如下:
[root@localhost ~]# ls
anaconda-ks.cfg data install.log.syslog 公共的 视频 文档 音乐
ceshi install.log ning 模板 图片 下载 桌面
[root@localhost ~]# du -sh ning
4.0K ning
[root@localhost ~]# du -sh data/
4.0K data/
七、touch命令----创建空文件与修改时间戳
作用:若当前文件已存在时,将更新该文件的时间戳
格式:touch 文件名为123
操作如下:
[root@localhost ~]# ls
anaconda-ks.cfg data install.log.syslog 公共的 视频 文档 音乐
ceshi install.log ning 模板 图片 下载 桌面
[root@localhost ~]# touch 123
[root@localhost ~]# ls
123 ceshi install.log ning 模板 图片 下载 桌面
anaconda-ks.cfg data install.log.syslog 公共的 视频 文档 音乐
[root@localhost ~]# stat 123File: "123"Size: 0 Blocks: 0 IO Block: 4096 普通空文件
Device: fd00h/64768d Inode: 786778 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-05-27 14:48:30.055999766 +0800
Modify: 2022-05-27 14:48:30.055999766 +0800
Change: 2022-05-27 14:48:30.055999766 +0800
[root@localhost ~]# touch 123
[root@localhost ~]# stat 123 File: "123"Size: 0 Blocks: 0 IO Block: 4096 普通空文件
Device: fd00h/64768d Inode: 786778 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-05-27 14:49:00.949000410 +0800
Modify: 2022-05-27 14:49:00.949000410 +0800
Change: 2022-05-27 14:49:00.949000410 +0800
八、mkdir创建新目录
-p一次性创建嵌套的多个目录(也就是补全的意思)
操作如下:
[root@localhost ~]# mkdir ceshi1
[root@localhost ~]# mkdir ceshi1/ce/shi #批注:因为没有ce目录所以无法创建shi目录
mkdir: 无法创建目录"ceshi1/ce/shi": 没有那个文件或目录
[root@localhost ~]# mkdir -p ceshi1/ce/shi #批注:加个-p就会补全
[root@localhost ~]# cd ceshi1
[root@localhost ceshi1]# ls
ce
九、cp复制文件或目录
作用复制文件或目录
格式:cp【选项】 源文件或目录
-f 覆盖同名文件或目录,强制(force)
-i 提醒用户确认(interactive,交互式)
-r 递归(recursive)复制
十、alias ----设置命令别名
别名的含义:外号,后者将其缓存另一种称呼
前面加个un就是取消别名
[root@localhost ~]# alias
alias cp='cp -i' #批注:alias是别名,cp实际上我们敲得的是cp -i
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
十一、find命令—根据路径和条件搜索指定文件
find / -type f -size +1M -size -3M 是查找跟下类型是文件的大小是大于1M的且小于3M的。
find / -type f -size +1M -size -3M是查找跟下类型是文件的大小是大于1M的且小于3M的。 在所有的命令里边,没有特殊的要求,基本都是且的意思。
操作如下:
[root@localhost ~]# find / -type f -size +1M -size -3M
/var/cache/hald/fdi-cache
/var/lib/rpm/Providename
/var/lib/rpm/__db.003
/var/lib/yum/history/history-2022-05-20.sqlite
/sbin/lvm
/media/CentOS_6.5_Final/Packages/389-ds-base-1.2.11.15-29.el6.x86_64.rpm
时间戳,我们需要找到7天没人动过的文件进行删除。
-mtime +7表示七天以上,m代表 modify属性时间 一般情况下都是用-mtime
-mtime -7表示七天以内
-atime +7表示七天以上,a代表 access访问时间
-atime -7表示七天以内
-ctime +7表示七天以上,c代表 change改变时间
-atime -7表示七天以内
find / -type f -size +1M -size -3M -mtime +7
表示找出根下类型是文件的大于1M且小于3M的时间为7天以上没人动的文件find / -type f -size +1M -size -3M -mtime -7表示找出根下类型是文件的大于1M且小于3M的时间为7天以内没人动的文件
十二、stat显示文件状态信息
时间戳
access(访问时间)记录的是我们文件改变以后第一次访问时间。
change(改变时间)是只要你改变我就记录。
modify(属性时间)是只有文件内容变了,我才改变。
操作如下:
[root@localhost ~]# stat fynFile: "fyn" #批注:file是文件名Size: 16 #批注:size是文件大小 Blocks: 8 IO Block: 4096 普通文件
Device: fd00h/64768d Inode: 796287 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-05-29 12:41:58.742007417 +0800 #批注:access是访问 #批注:+0800是时间东八区
Modify: 2022-05-28 03:20:42.810002905 +0800 #批注:modify是属性 #批注:+0800是时间东八区
Change: 2022-05-28 03:20:42.810002905 +0800 #批注:change是改变 #批注:+0800是时间东八区
接下代码块
输入cat fyn访问文件下有什么,接着输入stat fyn查看有没有修改访问时间。结果是没有改变。
[root@localhost ~]# cat fyn
hello fanyaning
[root@localhost ~]# stat fynFile: "fyn" Size: 16 Blocks: 8 IO Block: 4096 普通文件
Device: fd00h/64768d Inode: 796287 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-05-29 12:41:58.742007417 +0800 #批注:会发现没变
Modify: 2022-05-28 03:20:42.810002905 +0800 #批注:会发现没变
Change: 2022-05-28 03:20:42.810002905 +0800 #批注:会发现没变
接下代码块
先使用移动改名,然后再去stat fyn1会发现改变时间变了,属性时间和访问时间都没改变。因为改名了所以会变改变时间。change(改变时间)是只要你改变我就记录。
[root@localhost ~]# mv fyn fyn1 #批注:对fyn进行移动改名
[root@localhost ~]# stat fyn1File: "fyn1"Size: 16 Blocks: 8 IO Block: 4096 普通文件
Device: fd00h/64768d Inode: 796287 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-05-29 12:41:58.742007417 +0800 #批注:会发现没变
Modify: 2022-05-28 03:20:42.810002905 +0800 #批注:会发现没变
Change: 2022-05-31 00:41:51.881431371 +0800 #批注:会发现这时候改变时间变了
接下代码块
然后我们去访问一下fyn1,接着stat fyn1会发现访问时间变了。 access(访问时间)记录的是我们文件改变以后第一次访问时间。
[root@localhost ~]# cat fyn1
hello fanyaning
[root@localhost ~]# stat fyn1File: "fyn1"Size: 16 Blocks: 8 IO Block: 4096 普通文件
Device: fd00h/64768d Inode: 796287 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-05-31 00:44:07.527430525 +0800 #批注:会发现访问时间变了
Modify: 2022-05-28 03:20:42.810002905 +0800 #批注:会发现没变
Change: 2022-05-31 00:41:51.881431371 +0800 #批注:会发现这时候改变时间变了
接下代码块
先追加输出重定向到fyn1里,再去stat fyn1会发现属性时间改变了。 modify(属性时间)是只有文件内容变了,我才改变。
[root@localhost ~]# echo "1" >> fyn1
[root@localhost ~]# stat fyn1File: "fyn1"Size: 18 Blocks: 8 IO Block: 4096 普通文件
Device: fd00h/64768d Inode: 796287 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-05-31 00:44:07.527430525 +0800
Modify: 2022-05-31 00:58:00.984429017 +08000 #批注:会发现属性时间改变了,因为追加输出重定向了,写进去了新的东西
Change: 2022-05-31 00:58:00.984429017 +0800
Linux命令的分类相关推荐
- linux命令如何分类,Linux系统命令的两种分类
摘要 腾兴网为您分享:Linux系统命令的两种分类,游戏堂,易推广,小学英语,网易uu等软件知识,以及abcmouse儿童美语趣学堂,汉中人社,条码设计软件,雨林木风pe工具箱,川财证券大智慧,骚直播 ...
- 29 个你必须知道的 Linux 命令
29 个你必须知道的 Linux 命令 2016-08-12 分类:操作系统.编程开发.首页精华暂无人评论 来源:dwqs 分享到:更多0 虽然Linux发行版支持各种各样的饿GUI(g ...
- 每天一个linux命令cd,Linux指令每日背诵(第一天)
了解:Linux 命令的分类:内部指令.外部指令. Shell 在用户和内核之间充当了"翻译官"的角色. 掌握:四种指令方式:1.命令字:2.命令字+选项:3.命令之+参数:4.命 ...
- 最常用的Linux命令大全
文章目录 一.Linux命令学习技巧 二.Linux命令的格式 三.Linux命令的分类 1.开关机命令 2.文件操作命令 3.系统管理命令 4.压缩解压缩 四.Linux常用命令 五.VI编辑器 1 ...
- Linux命令学习资料总结
对 Linux 新手非常有用的 20 个命令 1. ls命令 ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. ...
- JAVAWEB开发之——Linux命令实战、虚拟机和centos的安装以及联网、常用命令、vi编辑以及软件的安装、sftp的使用
Linux简介 Linux是一种自由和开放源码的操作系统,存放着许多不同的Linux版本,但他们都使用了Linux内核.Linux可安装在各种计算机硬件中 比如.手机.平板电脑.路由器.台式计算机中. ...
- Linux - 命令的查找(一) which,whereis,locate的用法
// which 命令 查找可执行文件并显示所在的位置. 格式 :which 命令或者程序名. which是Linux里面用来查找命令的存放路径. ...
- 开开心心了解------linux命令-----经典
CPU得参数 核心数 主频 缓存 常见的CPU型号 lntel 赛扬系列 奔腾系列 酷睿系列 AMD 毒龙系列 速龙系列 羿龙系列 FX系列 CPU散热方式 风冷散热 液体散热 主板 主板接口 内存 ...
- Linux 下 Shell 命令的分类及用法
当你打算真正操纵好你的 Linux 系统,没有什么能比命令行界面更让你做到这一点.为了成为一个 Linux 高手,你必须能够理解 Shell命令的不同类型,并且会在终端下正确的使用它们. 在 Linu ...
最新文章
- mybatis自动生成代码工具
- Android 关于::app:clean :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE,引用jar冲突问题...
- 科技互联网公司真的越来越重视数学了吗?
- mysql 密码 You must reset your password using ALTER USER statement before executing this statement....
- RPM vs SRPM
- BZOJ4939[Ynoi2016]掉进兔子洞(莫队+bitset)
- boost::geometry::detail::overlay::get_ring用法的测试程序
- 转:在csv中维护变量参数
- python接口测试第二期_Python接口测试实战2 - 使用Python发送请求
- 异步爬虫模块aiohttp实战之infoq
- python自带模块连接数据库_Python使用sqlalchemy模块连接数据库操作示例
- 用计算机制作动画,如何使用制作工具制作一个简单的Flash动画-电脑自学网
- Error generating final archive: Debug certificate expired on的解决办法
- iOS开发之获取手机本地语言
- 堆优化的Dijkstra
- 视频教程-路由技术(CCNA魔鬼训练营系列)-思科认证
- 你想成为什么级别的程序员?
- AES加解密原理详解与算法实现
- quot;多看nbsp;fornbsp;kindle3”升级包下载
- 2u机架式服务器作用,不仅是一款通用的2U机架式服务器还具有足够的扩展力
热门文章
- 小程序 wepy 用户取消授权以及取消获取地理位置后的处理方法
- 连接mysql服务验证失败_数据库连接失败的原因分析及解决办法
- 常用工具类 (一) : Apache Commons 常用工具类整理 (全)
- 服务器三大技术架构及应用软件部署架构
- 翻译 Designing Stable Compensation Networks for Single Phase Voltage Mode Buck Regulators
- 坚果pro3刷miui_我为什么把坚果Pro3换成了小米9?在水桶面前信仰真的不值一提...
- “远程网络教学系统”
- android 系统弹框与自定义弹框
- 及时复盘的好处_聪明的工作,成为改进者,及时复盘。
- Linux使用mutt发送邮件