linux的基本命令-1
ls :显示目录文件
-l :以长格式显示
-普通文件
d 目录文件
b 设备文件(块设备)存储设备硬盘,U盘
c 设备文件(字符设备)打印机,终端/dev/tty1
l 链接文件(湖蓝色)
-d: 只查看目录本身
-a:显示所有子目录和文件的信息,包括隐藏文件(全部文件)。”.”表示当前目录的,
”..”表示父目录的。
-h :人性化的方式显示目录或者文件的大小,显示将为K、M等单位。结合-l使用。
-R 以递归的方式显示指定目录及其子目录中所有的内容。
eg: ls /dev/tty* // *代表任意字符,回车可以显示所有的
ls /dev/tty? // ?代表单个字符。回车可以显示单个字符的文件。
黑色(白色)一般文件
绿色 可执行文件
黄色 设备文件
红色 压缩文件
湖蓝色 链接文件
深蓝色 目录
eg: ls /dev/tty* // *代表任意字符,回车可以显示所有的
ls /dev/tty? // ?代表单个字符。回车可以显示单个字符的文件。
touch: 创建新文件夹,改变已有文件的时间戳属性。
touch file 摸一下文件显示出来了。
linux的touch命令不常用,一般在使用make时会用到,用来修改时间戳,或新建一个不存在的文件。
1、命令格式
touch [选项] [文件]
2、命令参数
-a:仅更改最后一次访问时间。
-c:如果文件不存在,则不建立当前文件。
-m:只更改最后一次修改时间。
-r, --reference=FILE:参考指定文件时间进行设置。
-t:使用指定的日期时间,而非现在的时间。设置
3、命令功能
touch命令参数可以更改文档或目录的日期时间,包括存取和更改时间。
4、使用范例
实例1:创建不存在的文件
命令:touch log1.log log2.log
实例2:更改多个文件的时间戳相同
命令:touch -r log1.log log2.log
实例3:设定文件的时间戳
命令:touch -t 201211142234.50 log1.log
实例4:修改最后一次修改时间
stat 777
touch -m -t 201708151530.34 777
stat 777
rm: 删除
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
eq:rm -rf /laowang
rm file //删除文件-会有确认回复Y remove-删除
rm -r /tmp/home/ //递归删除 会确认
rm -rf //没有确认,直接删除。
rmdir: 功能是删除空目录(用的较少)
一个目录在删除之前必须是空的。
(注意:rm -r dir 命令可以替代rmdir,但危险性很大。)
删除某目录时必须具有对父目录的写入权限。
1、命令格式
rmdir [选项] 目录
2、命令功能
从一个目录中删除一个或多个子目录项,删除目录时需要有对父目录写的权限。
3、命令参数
-p:递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。
如果整个路径被删除或由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
4、命令实例
实例1:不能删除非空目录
命令:rmdir home
实例2:rmdir -p 当子目录被删除后使它也成为空目录的话,则一并删除。
命令:rmdir -p logs
cp: 复制
-a:保留文件的所有的属性(即归档复制,通常用于备份)
-r:递归复制目录及子目录,cp /etc/fstab /root
-f:如果目标文件存在则强行覆盖
-p:复制时不改变属主和属组
注意:.:复制隐藏文件,*:复制普通文件
eg: cp -a ./.* /tmp //拷贝隐藏文件到tmp
eg: cp -a /etc/passwd /tmp/ //复制etc目录下的passwd文件到tmp。
mv:移动,改名
mv /tmp/passwd /root //移动此目录中的东西到root里
mv passwd 666 //原地移动等于改名 名为666.
格式:命令格式:mv SRC DEST
// SRC为source源的意思,DES为目的的意思。
du:统计目录和文件的占用情况
-s是统计一个目录的情况。
-h是人性化。
-a 统计磁盘空间占用时包括的所有文件,不仅仅是目录
eg:du -sh /etc //etc的占用情况
cat : 查看纯文本文件,不能查看当个目录
这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。
格式:cat [选项] [文件]
-E 在每行结束处显示$,每行结束符。
-n 显示行号
-b 显示行号(不包括空行)
-A 显示出‘不可见’的符号,如空格。TAB键等等。
eg: cat test //查看文件test
cat -n test //加了行号
cat -E test //显示结束符
head: 显示文件的前10行(默认前10 行)
-n 10 显示10行
-12 显示前12行
-n -10 正常输出,但不显示最后的10行。
head -n 20 文件名 查看文本文件前10行
eg: head test //默认显示前10行
head -12 test //显示前12行
cat -n test | head -5 //高端用法-使用通配符-显示前5行
tail:查看纯文本的后N行。
tail -n 20 文件名 //显示文本文件的后20行
tail -f //持续刷新显示的内容。比如查看活动的日志会用到。
eg: cat -n test | tail -5 //显示后5行
od:用于查看特殊格式的文件
-t a 默认字符
-t c ASCII字符
-t o 八进制 //octonary 八进制的意思
-t d 十进制 //decimalism 十进制的意思
-t x 十六进制 //hexadecimal十六进制的
-t f 浮点数 //floating-point number 浮点数
split 文件粉碎
more //分页显示文件内容
空格显示下一页,
enter键显示下一行
-d 显示提示语句与报错信息
less //分页显示文件内容
enter向下逐行滚动
空格键向下翻一页,按B键向上翻一页
q退出
wc: 用于统计指定文件的行数,字数,字节数 word count
格式:wc [参数] 文本
-l: 只显示行数 一般使用wc -l //查看文件的行数也就是个数。
-w 只显示单词数
-c 只显示字节数
-m 字符数(包括空格)
eg: wc -l test //统计文本行数
wc -m test //统计文本字符数
wc -l /etc/passwd //查看当前系统中的用户个数。
grep :过滤在文件中搜索字符串匹配的行并输出
-i 可以忽略大小写查询
-v:反转查找,输出与查找条件不相符的行
-o:只显示匹配项
查找条件设置:
要查找的字符串以双引号括起来
“^……”表示以……开头,
“……$”表示以……结尾
“^$” 表示空行
eg: grep “physical id” /proc/cpuinfo //普通查找 查cpu个数
grep -i “physicAl iD” /proc/cpuinfo //忽略大小写查找
grep -vi “physicAl iD” /proc/cpuinfo //反转和忽略大小写查找
cut:在文件中搜索匹配的列并输出,提取文本字符,纵切,
-d分隔符 //指定分隔符,默认为Tab //-d后面跟上某个分隔符
-f //指定显示的列数 //-f后写需要显示的列数
-c //单位改为字符
eg: cut -d: -f1 /etc/passwd |head -3 //查看当前系统用户passwd里的第一段
-d后面跟分隔符
-f1的后面跟第一块区
-f1,3 块区1和3的文件
-f1-3 块去1-3的文件
sort:文本排序
-n:数值排序
-r:逆向排序
-t:指定字段的分隔符
-k:指定按照哪个字段排序
-u:排序后相同的行只显示一次
-f:排序时忽略字符大小写
eg: sort -t: -k1 /etc/passwd | head -10 | cut -d: -f10 //排序。
uniq 😕/过滤重复的行
-d:只显示重复的行。
-c:显示文件中行重复的次数
eg: grep "physical id" /prop/cpuinfo | uniq //CPU重复信息过滤
eg: grep "physical id" /prop/cpuinfo | uniq |wc -l // wc -l 显示共有几行
tr: 转换或删除字符 只能管道符 | tr 修改 删除
-d:删除出现在字符集中的所有字符
eg: cat test | tr 'A-Z' 'a-z' //字母的转换-大写转成小写
eg:cat test | tr -d 'A-Z' // 删除文件里所有A-Z 的字母
which: 显示系统命令的位置
eg: which cat //查看cat这个命令的位置
which cd
which ls //可查看位置和文件颜色是自动的
\ls //取消颜色
去了\ //颜色恢复
find查找文件或目录(精确查找 )
-type 类型
-username 用户
-size 大小
-name 文件名字
eg: find /etc -name init // 在目录/etc 中查找文件init
find / -name "pass" 精确查找
find / -name "*pass*" 模糊查找
find / -size +204800k //在根目录下查找大于200MB的文件
find / -user root //在根目录下查找所有者为root的文件
find /etc -size +102400k -a -size -204800k //在/etc下查找大于100MB小 于200MB的文件
find /etc -name inittab -exec ls -l {} \; //在/etc 下查找inittab文件并 显示详细信息
find / -size +200M -a -300M //大于200M并且小于300M的文件。
find / -name "passwd" //找文件名为passwdd 的文件 --精确查找
find / -name "*pass*" //找包含pass字的文件。 --模糊查找 慢
locate passwd //查找包含pass的文件。 --模糊查找 但 快
find / -type b //查找硬盘 b 为硬盘 块设备
find / -type c //C为字符类型的文件。
file: 显示文件类型
-c: 详细显示指令执行过程,便于排错或分析程序执行的情形
-z: 尝试去解读压缩文件的内容
-i: 显示MIME类型
-b: 不显示文件名称
示例:
[root@localhost ~]# file install.log
install.log: UTF-8 Unicode text
[root@localhost ~]# file -b install.log <== 不显示文件名称
UTF-8 Unicode text
[root@localhost ~]# file -i install.log <== 显示MIME类别。
install.log: text/plain; charset=utf-8
[root@localhost ~]# file -L /var/spool/mail
/var/spool/mail: directory
md5sum: 计算和校验文件的MD5值
md5sum是用来计算和校验文件MD5值(MD5全称是报文摘要算法 (Message-Digest Algorithm 5))的命令。
使用起来相当方便,当我们从网络上下载下来一些文件,特别是系统镜像一般 都跟有该文件的MD5值,可以用这个命令来校验文件的完整性。
1.计算一个文件的md5值
md5sum 111.txt
2.查看一个字符串的md5值
echo “123456” | md5sum
ifconfig -a //所有网络设置信息
压缩和解压命令:
zip 666.zip //压缩666文件 后面要加 .zip
unzip 666.zip //解压缩666文件 回复Y---
-r 压缩目录
-1-9 压缩比例
gzip 666 //gNU的压缩
gzip * //压缩所有文件
gzip -d * //解压缩所有文件
bzip2 :压缩解压这种格式的文件或包
-d:压缩
bunzip2 ***.bzip2 //解压
tar //打包目录
-v 显示详细信息
-f 使用归档文件
-z 打包同时压缩或解压(gzip) 压缩文件后缀格式:.tar.gz
-j打包同时压缩或解压(bzip2) 压缩文件后缀格式:.tar.bz2
-c 产生.tar打包文件
-x解压.tar文件
-C 解包时指定释放的目标文件夹
-t 列表查看包内的文件
eg: tar -zcvf 某文件.tar.gz 源文件 //压缩归档文件名为.gzip格式的包。
tar -jcvf 某文件.tar.gz 源文件 //压缩归档文件名为.bzip2格式的包。
tar -zxvf *** -C /tmp //解压格式为tar.gz 到/tmp目录下。
tar -jxvf *** -C /tmp //解压格式为tar.bz2 到/tmp目录下。
tar -xf tar.bz2 //解压
tar -zcvf /tmp/etc.tar.gz //压缩etc目录
tar jcvf /tmp/etc.tar.bz2 //压缩
sz:把Linux中的某个文件保存到Windows 得安装lrzsz安装包
eg: sz httpd.sh
rename: 修改名字
eg: rename 666 777 666 //把666改为777
history -c //清除历史命令
history -w //保存
查到的命令:都放在 .bash_history文件里。
可以查看:cat ~/.bash_history 或 cat .bash_history
默认保存1000条命令。
如果要修改:编辑/etc/profile文件的HISTSIZE值。
Linux里文件开头带点的文件都是隐藏文件。一般为系统文件。
ulimit -n //查看每个用户默认可以打开的文件个数。
help ulimit //查看帮助信息-----可以查到-n的作用是可以打开的数量。
login:重新登陆
logout:退出登录
RPM:软件包管理系统
组件:
RPM软件包文件:里面封装软件的程序,配置文件,文件等等。
RPM管理工具:管理查询安装升级更新与删除软件包文件。
网络资源:通过外网提供RPM软件包的服务器,还有搜索的功能。
RPM数据库:数据库记录安装的信息,例如版本号,作者,发行单位,内容,文件路径。
所谓的软件依赖关系:是指当我们要使用A软件时,他会使用B软件的某些文件,如果要使用A软件时,必须先安装B软件
rpm -q 软件名
rpm -q elinks //查看是否安装了elnks
rpm -q --info elnks //查看安装的elinks的详细信息
rpm -qa //查看系统中已经安装的软件
rpm -q --list elinks //查看elnks中的内容
rpm -q --changlog 软件包名 //查看被修改后的记录
rpm -q --requires 软件包名 //查看该软件包所需要的组件
rpm -qc 软件名 //-c查看所有配置
sync:数据同步到磁盘。
scp:传输包或文件
eg: scp apr-1.6.3.tar.gz root@另一台机器IP地址:/root
eg:scp 111.txt root@192.168.1.1:/etc
type:查看是内部命令还是外部命令。
例如:type ls--查看ls的命令类型。
cd:切换目录
cd .. 切换到上级目录
cd ~ 切换到家目录
cd - 切换到上次的目录
cd ~username 切换到其他用户的家目录
help:查看bash内部命令的帮助信息
--help:查看外部命令的帮助信息 ls --help
man:使用手册查看详细信息。 mannual的缩写
1.使用“上键”,“下键”方向键滚动文本
2.使用Page Up和Page Down键翻页
3.按Q或q键退出阅读环境
4.搜索“/关键字” 从上至下搜索某个关键词,如“/linux” “/-a”。翻页 n N
eg:man ls
eg:man 1 ls //查ls手册的第一部分(命令用法)
man手册的技巧:
普通命令的1
内核调用的函数与工具2
文本命令的是5
惯例与协议是7
系统管理命令的是8
clear:清屏命令。也可以ctrl+l
date: 查看时间
格式: date [选项] [+指定的格式]
date ”+%Y-%m-%d %H:%M:%S” //按照年-月-日 小时:分钟:秒的格式看时间。
更改时间: 1. date -s “2019-12-12 12:30:30” //时间设定
2. data 122715252017.35 //月日时分年.秒
软件时间:data
data +%F-%T
data +%y // 2017年的简写为17
data +%Y //2017年的全写为2017
%m //月 1-12
%d //日 1-31
%H //小时(00-23)
%I /小时(00-12)
%M //分钟
%S //秒 %X //可以显示小时-分钟-秒
%p //显示本地的AM或PM
%A //星期几 全拼
%a //星期几 缩写
%B //完整的月份
%b //缩写的月份硬件时间:hwclock
hwclock -w //时间同步到硬件
-s //时间同步到软件
wget //用于下载网络文件。
格式:wget [参数] 下载地址
-b 后台下载模式
-O 指定下载目录
-t 最大尝试次数
-c 断点续传
-p 下载页面所有资源 包括图片和视频
-r 递归下载
tree: 以树形结构显示目录下的内容。
-a: 显示所有文件和目录
-d: 仅列出目录
-L:显示最大目录树的层级(深度)
-L level //级别
tree -L 2 //显示前2层
tree -L 3 //显示前3层
chattr: 修改文件扩展属性
a //追加的意思
i //不得变动文件或目录
u:预防意外删除。
c: 将文件或目录压缩后存放
A:不更新访问时间 access time
选项:
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
+<属性>:开启文件或目录的该项属性;
-<属性>:关闭文件或目录的该项属性;
=<属性>:指定文件或目录的该项属性。
实例1:
chattr +i /etc/fstab
然后试一下rm、mv、rename等命令操作于该文件,都是得到Operation not permitted的结果。
实例2:
让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作:
chattr +a /data1/user_act.log
lsattr: //查看文件扩展属性
用lsattr命令列出文件的隐藏属性。其语法格式为:
lsattr [ -RVadv ] [ files… ]
下面给出几个选项的含义:
选项 含义
-R 递归显示目录下所有子目录和文件的属性
-V 显示lsattr程序的版本信息
-a 显示所有文件的属性信息,包括以.开头的文件
-d 显示目录的属性,而不是目录下的文件的属性
-v 显示文件的档案号码
例如,下面这条命令显示MySecretDir目录的隐藏属性:
$ lsattr -Rd MySecretDir/
----i----------- MySecretDir/
ln: 产生链接文件link
1.硬链接:指向同一个inode的不同目录文件
2.符号链接(软链接):快捷方式
格式:ln -s 源文件 目标文件
eg: ln -s /etc/issue /issue.soft
创建文件/etc/issue的软链接/issue.soft
ln /etc/issue /issue.hard
创建文件/etc/issue的硬链接/issue.hard
mkdir :创建目录
-v 显示过程
-p 递归创建
eg: mkdir -p aaa/bbb/ccc 一次性创建多个目录。
eg:mkdir -pv /tmp/home/{laowang,laoli}/{ipad,iphone}
//创建目录,在tmp下创建home,home里有laowang和laoli,他们有ipad和iphone
使用树查看:tree /tmp/ 就可以看到树状结构的。
tac : 输出结果与cat相反
cal:日历
eg: cal 05 2016 //2016年5月的日历
bc:计算器
进入后 scale=2 小数点后保留两位。 quit退出。
uname -a //查看系统内核版本
cat /etc/redhat-release //查看本版本
uptime //查看系统负载情况
watch -n 1 uptime //每秒刷新一次获得当前的系统的负载情况
输出内容为:系统当前的时间-系统已经运行的时间--当前在线用户-平均负载值。
free //用于显示当前系统内存的使用情况
格式:free -m/-g
-
List item
-m //单位显示当前系统中的内存使用情况。
Mem:表示物理内存统计
-/+buffers/cached:表示物理内存的缓存统计
buffer是即将要被写入磁盘的,缓冲
cache是被从磁盘中读出来的,缓存
used列是指应用程序总共使用的内存数
who:查看当前登录主机等等用户。
显示tty1和pts/0或其他。
last //查看所有系统的登陆记录
hash //查看命令的使用次数。