Liunx 学习路程

liunx命令

 
 
liunx文件格式:
 
 
     -:表示普通文件
     d: 表示目录文件
     b:表示快文件
     c: 表示字符设备文件
     l: 表示软链接文件
     p: 表示管道文件
     s: 表示套接字文件
 
 
(centos7.6 /bin/bash)
w 显示当前登陆用户的操作
who 显示目前登陆系统的用户信息
whoami 显示当前登陆用户的名称
which判断外部命令路径 which cmd
whereis who 看到外部命令路径可以看到帮助手册
tty 显示当前目录终端
who am i 显示当前目录终端和链接地址
init # 切换到当前终端并关闭上一终端
runlevel 查看切换的终端
free 看内存
lscpu 查看cpu
lsblk 查看硬件挂载
cal 查看日历
date 看软件日期
hwclock、clock 看硬件日期 -s 以硬件为准修改软件时间 -w 以软件为准修改硬件时间
timedatectl status 查看时区
timedatectl list-timezones 查看所有时区
timedatectl set-timezone更改时区
echo 回显显示字符 " "弱引用 ' '强引用 识别命令
history 看历史命令
PWD(OLDPWD) 看当前目录 相对目录、绝对目录
ps aux 看当前进程
df 查看光盘挂载
uanme -r -n 依次系统名 版本号 主机名
alias 别名
hash 查看缓存
 
 

一些命令用法:1
 
 


一、ls 列出当前目录的内容或指定目录

 
 
用法:ls [options] [files_or_dirs]
示例
ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归通过 一直查看到底
ls -ld 目录和符号链接信息
ls -1 文件分行显示
ls –S 按从大到小排序
ls –t 按mtime排序
ls –u 配合-t选项,显示并按atime从新到旧排序
ls –U 按目录存放顺序显示
ls –X 按文件后缀排序
ls -d 列出当前文件属性,不列出子目录信息
 
 
补充一个概念一个文件或者目录创建过后有三个时间戳:
access time 访问时间,atime,读取文件内容
modify time 修改时间, mtime,改变文件内容(数据)
change time 改变时间, ctime,元数据发生改变
stat可以查看
 
 


二、touch 创建空文件(-)

 
 
用法:touch [OPTION]... FILE...
     -a 仅改变 atime和ctime
     -m 仅改变 mtime和ctime
     -t [[CC]YY]MMDDhhmm[.ss]指定atime和mtime的时间戳
     -c 如果文件不存在,则不予创建
 
 


三、cp 复制文件和目录

 
 
cp [OPTION]... [-T] SOURCE DEST
     cp [OPTION]... SOURCE... DIRECTORY
     cp [OPTION]... -t DIRECTORY SOURCE...
     从目录到根源
     cp SRC DEST
     SRC是文件:
     如果目标不存在:新建DEST,并将SRC中内容填充至DEST中
     如果目标存在:如果DEST是文件:将SRC中的内容覆盖至DEST中
     基于安全,建议为cp命令使用-i选项
     如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中
 
 
-i 覆盖前提示
-n 不覆盖,注意两者顺序
-r, -R 递归复制目录及内部的所有内容
-a 归档,相当于-dR --preserv=all
-d --no-dereference --preserv=links 不复制原文件,只复制链接名
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all
-p 等同--preserv=mode,ownership,timestamp
-v --verbose
-f --force
-u --update 只复制源比目标更新文件或目标不存在的文件
-b 目标存在,覆盖前先备份,形式为 filename~
--backup=numbered 目标存在,覆盖前先备份加数字后缀
 
 


四、mv移动和重明敏文件

mv [OPTION]... [-T] SOURCE DEST -- 一个文件到一个目录
mv [OPTION]... SOURCE... DIRECTORY -- 根源到目录
mv [OPTION]... -t DIRECTORY SOURCE...
常用选项:
     -i 交互式
     -f 强制
     -b 目标存在,覆盖前先备份
 
 


五、rm 删除

rm [OPTION]... FILE...
常用选项:
-i 交互式
-f 强制删除
-r 递归
--no-preserve-root 删除/
示例:rm -rf /*
 
 


六、目录操作

 
 
tree 显示目录树
     -d: 只显示目录
     -L level:指定显示的层级数目
     -P pattern: 只显示由指定pattern匹配到的路径
mkdir 创建目录
     -p: 存在于不报错,且可自动创建所需的各目录
     -v: 显示详细信息
     -m MODE: 创建目录时直接指定权限
rmdir 删除空目录
     -p: 递归删除父空目录
     -v: 显示详细信息
rm -r 递归删除目录树
 
 
这里有一个补充的inode、软连接、硬链接的概念需要理解
 
 
检查文件的类型,然后确定适当的打开命令或应用程序使用
     file [options] ...
     常用选项:
     -b 列出文件辨识结果时,不显示文件名称
     -f filelist 列出文件filelist中文件名的文件类型
     -F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
     -L 查看对应软链接对应文件的文件类型
     --help 显示命令在线帮助
 
 


七、标准I/O

 
 
标准输入和输出
     程序:指令+数据
     读入数据:Input
     输出数据:Output
     打开的文件都有一个fd: file descriptor (文件描述符)
Linux给程序提供三种I/O设备
     标准输入(STDIN)-0 默认接受来自键盘的输入
     标准输出(STDOUT)-1 默认输出到终端窗口
     标准错误(STDERR)-2 默认输出到终端窗口
     I/O重定向:改变默认位置
STDOUT和STDERR可以被重定向到文件
     命令 操作符号 文件名
     支持的操作符号包括:
     > 把STDOUT重定向到文件
     2> 把STDERR重定向到文件
     &> 把所有输出重定向到文件
     > 文件内容会被覆盖
     set -C 禁止将内容覆盖已有文件,但可追加
     >| file 强制覆盖
     set +C 允许覆盖
     >> 原有内容基础上,追加内容
 
 
ls /erro /boot >fb.txt 2>&1
ls /erro /boot 2>fb.txt >&2
ls /erro /boot 2>&1 > fc.txt
(ls /erro /boot 2>&1) > fc.txt
(uanm -r;hostname) > fc.txt
标准输入的重定向 <
bc < bc.txt
cat < bc.txt
cat < bc.txt > bc2.txt
cat < bc.txt > bc.txt 清空
cat < bc.txt >> bc.txt 无限递归
 
 


八、转换和删除字符

 
 
tr 转换和删除字符
tr [OPTION]... SET1 [SET2]
选项:
     -c –C --complement:取字符集的补集
     -d --delete:删除所有属于第一字符集的字符
     -s --squeeze-repeats:把连续重复的字符以单独一个字符表示
     -t --truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符
     [:alnum:]:字母和数字 [:alpha:]:字母 [:cntrl:]:控制(非打印)字符
     [:digit:]:数字 [:graph:]:图形字符 [:lower:]:小写字母
     [:print:]:可打印字符 [:punct:]:标点符号 [:space:]:空白字符
     [:upper:]:大写字母 [:xdigit:]:十六进制字符