Linux学习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习相关的知识,希望对你有一定的参考价值。
目录
1.历史发展
2.Linux入门
3.使用帮助
4.文件管理
5.重定向和管道
一、历史发展
1.发展历史进程
2.入门基础知识
二、Linux入门
1.用户登录
root用户 超级用户,接近完整的系统控制 除非必要不要登录 #
普通用户 权限有限 $
2.终端 terminal
tty 显示当前终端
3.shell介绍
接收用户输入的命令送去内核执行,人机交互的语言
echo $SHELL 显示当前的shell的类型
cat /etc/shells 显示当前系统所使用的所有shell
4.执行命令
命令提示符prompt
[[email protected]~]#
echo $PS1 显示当前的提示符格式
PS1=’\[\e[31m\][\[email protected]\h\W]\\$\[\e[0m\] ‘ 改变提示符
{颜色 31m-38m}
输入命令后回车执行命令
shell中可执行的命令
内部命令
enable 显示所有已激活的内部命令
enable command 激活被禁用的内部命令
enable |wc -l 显示激活中的内部命令的数量
enable -a 显示所有内部命令
enable -a |wc -l 显示所有内部命令的数量
enable -n 显示所有被禁用的内部命令
enable -n command 禁用某个内部命令
外部命令
whereis; which -a | -- skip - alias
hash 缓存(执行外部命令)
hash 显示所有被hash的命令路径
-l 显示所有被hash的命令路径,包含别名
-d 别名 删除指定别名的hash路径
-r 清空所有的hash
-t 别名 显示指定别名的hash路径
-p 路径 别名 手工增加一条hash
执行一条命令时的查找顺序
别名→内部命令→外部命令→hash→PATH
type 区别命令类型
type command 显示命令类型
alias 别名
alias 显示所有的别名信息
unalias -a 别名 取消所有别名
nano /etc/bashrc 对所有用户将别名保存
nano ~/.bashrc 对当前用户将别名保存
‘command’ ; “\command”
原命令与别名一样,执行原命令
/path/command(外部命令)
命令执行语法
- 短选项 例如 -p
-- 长选项 例如 --help
; 连接符 前一条命令执行结束再执行下一条命令
\ 命令换行符
多个选项以及多参数和命令直接使用空白字符分隔
5.简单命令
date时间
date +%Y 年
+%m 月
+%d 日
+%H 小时
+%M 分
+%S 秒
+%w 星期
+%F 年-月-日
+%T 时:分:秒
date 月日时分年[.秒]
date -s ‘年-月-日 时:分:秒’
hwclock 硬时间
clock 软时间
clock -s 将软时间写入硬时间 关机是自动进行
-w 将硬时间写入软时间 开机时自动进行
cal -y 日历
nano 编辑内容
poweoff/init0 关机
reboot/init 6 重启
shutdown -r 重启
-h 关机
time 指定时间关机
-c 取消关机计划
whoami 显示当前用户名
who an /are/is 任意字符 显示当前的终端信息
who 显示所有终端信息
w 显示所有终端的详细信息及所做的操作
screen
下载
screen -s 会话名 创建指定名的screen会话
-x 会话名 加入已创建的screen会话
-ls 查看所有已打开的screen会话
echo
echo $() 或 `` 引用命令执行的结果
echo {} 重复字符的简化形式
echo $(()) 或 $[] 进行运算
echo ${} 或 "$变量名" 划定变量名的起止范围
6.tab键 补全
7.命令行历史
!n 重复某条历史(此处n为数字)
↑ 重复上一条命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含“string”的命令 string 字符串
history的命令
history 查询历史记录
history -c 清空当前的所有历史记录
history -dn 删除某条历史(此处n为数字)
history -a 将当前终端新执行的命令写入历史记录文件 (默认为~/.bash_history)
history -w /path/filename.txt 将历史记录写入指定文件
调用历史参数
要重新调用前一个命令中最后一个参数:
!$
Esc, .(点击Esc键后松开,然后点击 . 键)
Alt+ .(按住Alt键的同时点击 . 键)
8.bash快捷键
ctrl + l 清屏
+ o 执行当前命令 并重新显示本命令
+ s 锁定屏幕 仍可以运行
+ q 解锁
+ c 强制结束
+ z 暂停命令(fg可以再切换回来,bg可以查看当前终端后台有多少暂停的程序)
+ a 光标起到命令行首
+ e 光标移到命令行尾
+ u 删除光标之前的内容
+ k 删除光标之后的内容
ctrl+shift+c 复制选中的文本
ctrl+shift+v 把文本粘帖到当前光标处
Alt +f 向右移动一个单词
+b 向左移动一个单词
+r 删除全部内容
+N 提示输入指定字符[后输入]后,重复显示该字符N次(N表示具体的数字)
三、使用帮助(获取帮助的能力觉得了技术的能力)
1.whatis
仅能提供命令基本的介绍。不提具体用法。
whatis command 基于数据库的查找
man -f comman 优点:检索速度快
缺点:缺乏实时性
makewhatis 在CentOS6
mandb 在CentOS7
2.--help
3.man info
man 统称为Linux手册,常用于命令参考
man cmd 查看此cmd的帮助
q 退出man
info 适合通用文档参考
info cmd 查看此cmd的帮助
4.使用本地帮助文档
/user/sharel/doc
5.官网在线
6.其他网站搜索
四、文件管理
1.文件系统结构元素
Linux系统文件区分大小写
元数据 metadata 数据 data
2.创建 查看文件
pwd 当前目录路径
pwd -P 当前目录为软链接时,显示其源目录
oldpwd 上一次目录路径
cd 改变目录
cd .. 切换到父目录
cd 切换到当前目录
ls 查看目录
ls -a 显示所有文件
ls -l 长列出
ls -R 递归
ls -ld 显示指定目录的详细信息
ls -1 竖显示
ls -S 按文件大小降序
ls -T 按修改时间从新到旧
ls -u 按访问时间
ls -U 按文件存放的先后顺序
ls -X 按文件后缀排序
ls -i 显示inode号
stat
atime 读取文件内容 访问时间
三个时间戳 mtime 改变文件内容 修改时间
ctime 元数据发生改变 改变时间
touch创建文件
touch filename
当文件不存在时,则创建filename
当文件已存在时,则更新全部时间戳
touch -t [YY]MMDDhhmm[.ss] filename
touch -a 改变 atime ctime
touch -m 改变 mtime ctim
touch -c 文件存在更新全部时间,不存在不创建文件
文件通配符
* 匹配零个或多个字符
? 匹配任何单个字符 *
[0-9] [a-z] [A-Z]
^ 托字符 除了
[:upper:] 大写字母
[:lower:] 小写字母
[:alpha:] 大小写字母
[:alnum:] 字母和数字
[:space:] 水平或垂直空白字符
[:blank:] 空格
3.复制 转移 删除文件
cp复制
cp A B
cp -i 覆盖前提示
cp -n 不覆盖 注意顺
cp -r -R 递归
cp -a 归档
cp -d 不复制原文件只复制链
cp -p 复制所有的
cp -v 显示复制的过程
cp -f 有权限 覆盖在创建
mv -i 覆盖前提示
-f 强制覆盖
rm -i 删除前提示
-f 强制删除
-r 删除目录
rename .txt .doc* .txt
4.目录操作
tree 显示目录树
-d 只显示目录
-L n 只列出指定层级的目录(此处n为数字)
-P通配符 只列出匹配到的文件和所有的目录
mkdir 创建目录
-p 一次性创建多级目录
-v 创建时显示详细信息
-m 创建时直接设置权限
rmdir 删除空目录
-p 一次性删除多级空目录
-v 显示删除的详细信息
5.inode
128字节 64(类型,权限,链接数,大小,UID,GID,时间,其他信息)
索引节点 cp rm mv
6.软链接硬链接
ln filename linkname 不能跨分区
ln -s filename linkname 可以跨分区 源被删除 链接也不可用
file 确定文件内容
-b 查看时不显示文件名
-f 列出文件中文件的文件类型
-f /path/filename 文件中每个文件路径一行。从而可批量查看多个文件的类型
-F 符号 按指定符号做为分隔符输出 默认是 :
-L 当查询的对象为软链接时,显示源文件的类型
--help 查询在线帮助
五、重定向和管道
1.三种I/O设备
指令+数据
Input 读入数据 Output 输出数据
stdin 标准输入 stdout 标准输出 stderr 标准错误
2.把I/O重定向入文件
> 正确输出
文件不存在时直接创建新文件
存在时 > 直接覆盖 >> 追加
2>错误输出
&>全部输出
2>&1错误结果转化正确
1>&2 正确的转化错误
()合并多个程序
3.tr 转换和删除
tr -c 选取字符集的补集
-d 删除
-s 连续重复的字符以一个字符表示
<< EOF
>EOF 终止符
4.使用管道链接命令
| 管道符 使用前加空格
连接命令 cmd1 | cmd2 | cmd3
将正确的结果传递给管道
错误的结果通过 2>&1 ; |& 传递结果
组合多种工具
less 一页一页查看
ls -l /etc | less
mail 通过mail发送输出
echo “test mail” | mail -s “test user”
5.tee 重定向到多个目标
tee -a 追加
command1 |tee [-a] file |command2
以上是关于Linux学习的主要内容,如果未能解决你的问题,请参考以下文章