linux 基础命令
命令格式
命令[options…] [arguments…]
命令本身可以接受选项和参数,而选项可以有自己的参数。
- 短选项: -h使用-加一个字母,短选项可以合并,但是如果选项需要提供参数,必须放后面。短选项往往都是
最常用的选项,为了简化而提供 - 长选项: --all使用–加单词,长选项不可以合并写
- Ctl + c可以结束正在运行的命令
- \命令续行符
- ;一行多个命令使用分号分割
- 使用tab键补全, tab 2次可以提示补全的候选
常用命令
-
查帮助
help 内部命令
man 查看Man文档
命令-h 或命令–help -
命令
type 命令类型 ,type或type -t
hostname 主机名
who 登录信息,who am i或whoami, w
whatis 命令有什么功能
which 命令在哪里
whereis 命令程序二进制文件所在路径,which
uname -a查看操作系统信息,比如内核版本-r
alias别名 -
echo 回显字符
-n 取消自动附加最后的换行符
-e使用解释功能,echo -e "a\tb\nc"使用转义符 -
date日期
date +"%Y%m%d %H:%M:%S"
date[MMDDhhmm[[cc]yy] [.ss]修改时间 -
开关机
halt, poweroff
reboot重启 -
shutdown [optionJ… TIME
-r重启
-h关机
TIME: now立即执行; +3几分钟后执行; hh:mm几点几分开始执行
-c未执行前,还可以取消 -
网络
ping -c 20 -w 5 ww.baidu.com
ip a
ss -tanlp :tcp all numeric listening processes
路径
-
绝对路径,以/开始的路径
-
相对路径,不以/开始的路径
-
因为工作路径时常变化,有时候从当前路径为参照,找其他路径中的文件会出错,所以一般就从根开始写绝对路径,减少错误
-
相对路径用在相对于当前的某个文件,相对关系不变的情况
-
basename基名和dirname目录名
#dirname /etc/file
/etc
#basename /etc/file
file
文件类型
-
-或f为普通文件
-
d 目录directory
-
l 符号链接或软连接symbolic link,相当于快捷方式
-
b 块设备block device,随机访问,磁盘
-
c 字符设备character device,线性访问设备,键盘
-
p 管道pipe
-
s socket文件
权限
[外链图片转存失败(img-QvGpUPl8-1567939854683)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1567934347656.png)]
-
属主:文件的拥有者
-
属组:文件的分组,组内用户对该文件有一定的权限
-
如果有该权限则显示对应得字母,没有就显示-,root用户不受限制
-
rwx是3个字符,如果看作二进制就是3位,每一位否可以用0或1表示,由此可以用到8进制表示
通配符wildcard
*匹配任意个字符
?匹配一个字符
[a-z],[A-Z],[0-9],[abcd]都是匹配一个字符,[ ^a-z]匹配a-z外的其他字符
[:space:]空白符,digit为0-9,lower为小写,upper大写,alpha字母,alnum字母和数字
文件系统命令
ls列出目录内容
-
-a 显示所有文件,包括以.开头的隐藏文件
-
-l 长格式显示,别名ll即ls -l。显示stat的一部分内容
-
-h human-readable 配合-l,认可阅读的方式,size为k,m,g等
-
-R 递归目录
-
-d或-ld显示目录自身
-
-i 显示inode号
stat 显示文件的元数据metadate
-
access time,atime,读取文件内容则设置
-
modify time ,mtime,改变文件自身内容则设置,ls -l显示的就是mtime
-
change time,ctime,元数据发生改变则设置
cd 切换目录change directory
-
cd 或cd ~回家
-
cd -最后两次目录切换
pwd显示当前路径,
file显示文件格式
cat 读取文件或stdin到stdout 。tac倒着读取文件的每一行
more less比more功能更强
- 回车向后一行,y向前一行
- 空格向后-页, b向前-页
- d向后半页,u向前半页
- g首行,G末行
- u向前
- /或?搜索
- q退出
head -n 20 /etc/passwd,tail -n10 /etc/passwd; tail -f /var/log/messages
touch 没有文件创建新的文件,有则改变时间戳
- -a 改变atime和ctime,-m改变mtime和ctime,-c 如果文件不存在就不创建
mkdir 创建目录
-
-p 创建父目录
-
-v 详情
tree 递归显示目录树
-
-d只显示目录
-
-L n显示最大层数
rmdir 删除空目录
rm 慎用!!!
- -i 交互式提醒,-f 强制不提醒
- -r 递归删除
- rm -rf/
ln 创建链接文件
- -s创建符号链接
- -v详情
cp 复制目录或文件,从源复制到目标,默认不递归复制
-
如果源是文件:目标是文件,目标不存在,直接创建指定名称文件。如果目标存在,覆盖;目标是路径,复制到指定的路径下,不存在新建,存在则覆盖
-
如果源是目录:目标是文件,不可以;当目标是目录,如果目标目录存在,就在该目标目录下复制源目录内容,如果不存在,创建目标目录,复制源的内容
-
如果有多个源,目标只能是目录了,且目标必须存在
-
-i交互式提醒; -f强制覆盖不提示
-
-R-r递归复制
-
-perserv 保留指定的元数据信息,all保留所有即包含权限、属主、属组等
-
-d表示–no-dereference -preserv=links不复制源文件,只复制链接名
-
-a归档,相当于-dR -preserv=all, 递归复制所有文件包括软链接,但不跟踪软链接
mv移动或重命名
- 和cp很像
find[指定目录] [指定条件] [指定动作]
- find /-name *.py
l保留所有即包含权限、属主、属组等
- -d表示–no-dereference -preserv=links不复制源文件,只复制链接名
- -a归档,相当于-dR -preserv=all, 递归复制所有文件包括软链接,但不跟踪软链接
mv移动或重命名
- 和cp很像
find[指定目录] [指定条件] [指定动作]
- find /-name *.py