Linux学习笔记(一)

作者:神秘网友 发布时间:2020-10-05 16:51:18

Linux学习笔记(一)

Linux学习笔记(一)

文章目录

    • bash
    • 显示提示符格式
    • 命令
    • 别名
    • 命令格式
    • 获取命令的帮助信息
    • man
    • bash快捷键
    • tab键
    • 引号
    • 命令历史
    • 命令展开
    • echo 回显
    • 查看用户登录信息
    • date
    • 显示时区
    • 日历
    • 关机重启
    • 系统环境变量查看
    • 额外

bash是linux系统的用户界面,提供了用户和操作系统之间的交互,他接受用户的输入,让它送给操作系统执行

  • 目前是Linux和mac上默认的shell

  • centos默认使用bash

    [[email protected] ~]# echo $SHELL # 显示当前使用的shell
    /bin/bash
    
  • 查看系统内可以使用的shell

    [[email protected] ~]#cat /etc/shells
    /bin/sh
    /bin/bash
    /sbin/nologin
    /usr/bin/sh
    /usr/bin/bash
    /usr/sbin/nologin
    /bin/tcsh
    /bin/csh
    
  • 换shell

    chsh -s /bin/csh
    
[[email protected] ~]# echo $PS1
[\[email protected]\h \W]\$
\u 代表当前登录的用户
\h 代表当前主机的主机名
\W 代表当前的目录
0表示默认字体,1表示加粗,4在字体下方加下划线 5 闪烁 7 代表突出显示
31-37 字体颜色
40-47 表示背景颜色
echo 'PS1="\[\e[1;35mm\][\[email protected]\h \W]\\$\[\e[0m\]"' >> /etc/profile.d/ps.sh #永久生效

echo 'PS1="\[\e[7;47;34m\][\[email protected]\h \W]\\$\[\e[0m\]"' >> /etc/profile.d/ps.sh

执行命令:输入命令回车

内部命令:shell 自带的命令

  • help 显示所有的内部命令

外部命令:第三方提供的命令

查看命令的类型:type

[[email protected] ~]#type top
top is /usr/bin/top
[[email protected] ~]#type echo 
echo is a shell builtin
  • 查看当前所有的别名
[[email protected] ~]#alias 
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

  • 自定义别名
[[email protected] etc]#alias cdetc='cd /etc'
# 就是上面这个
[[email protected] etc]#alias 
alias cdetc='cd /etc'
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

  • 取消别名
[[email protected] etc]#unalias cdetc 
[[email protected] etc]#cd
[[email protected] ~]#cdetc
bash: cdetc: command not found...
  • 只对当前的终端有效

  • 设置所有用户都可以用 /etc/bashrc

  • 只对当前用户有效 ~/.bashrc

  • 执行本身命令

    • \command

    • “command”

    • ‘command’

    • path

      • which ls
        

command [options…] [args…]

command 命令本身

options:启动或者关闭命令里面的某些功能

  • 长选项:–help --color
  • 短选项: -i -l

args:命令的作用体,一般情况下是目录或者文件,用户名等等

注意:

  • 短选项是可以合并
  • 空格隔开
  • ctrl+c 结束命令的执行
  • 在同一行执行多个命令用;隔开
  • 一个命令可以在多行显示用\连接

内部命令:

  • help command
  • man bash(查看全部内部命令)

外部命令:

  • command -h
  • command --help
  • man coomand
  • 官方文档

Linux学习笔记(一)

[[email protected] ~]#python --help
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
[] 可选项
<> 表示变化的数据
... 表示列表
a|b|c 或者
-abc 表示-a -b -c
{} 表示分组
man man
1   Executable programs or shell commands  #用户命令
 2   System calls (functions provided by the kernel) # 系统调用
 3   Library calls (functions within program libraries) # 库的调用
 4   Special files (usually found in /dev) #设备文件与特殊文件
 5   File formats and conventions eg /etc/passwd # 配置文件格式
 6   Games #游戏
 7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) # 杂项
 8   System administration commands (usually only for root) # 管理类的命令
 9   Kernel routines [Non standard] # 内核的API
 退出q
 翻屏 空格
 翻行 回车
 man 章节 passwd
  • ctrl+l 清屏 相当于clear
  • ctrl+o 执行当前的命令,并显示当前的命令
  • ctrl+s 锁屏
  • ctrl+q 解锁
  • ctrl+c 终止命令
  • ctrl+z 挂起命令
  • ctrl+a 光标移动到行首
  • ctrl+e光标移动到行尾
  • ctrl+k 删除光标后面的字
  • ctrl+u 删除光标前面的字
  • alt+r 删除一整行
  • 命令补全
    • 内部命令
    • 外部命令:根据环境变量定义的路径,从前往后依次查找,自动匹配第一个查找到的内容
    • 如果用户给的命令只有唯一一个匹配,则直接补全
    • 如果有多个匹配,则需要在按tab键将所有匹配到的结果展示出来
  • 目录补全
    • 把用户给定的字符作为文件的开头,如果有唯一一个匹配则直接补全
    • 如果有多个匹配,则需要再次按tab键把所有的匹配到的结果展示出来
[[email protected] ~]#name=alexdsb
[[email protected] ~]#echo "$name"
alexdsb
[[email protected] ~]#echo '$name'
$name
[[email protected] ~]#echo "wo shi `tty`"
wo shi /dev/pts/2
[[email protected] ~]#tty
/dev/pts/2
[[email protected] ~]#echo "wo shi $(tty)"
wo shi /dev/pts/2
  • 可以使用上下箭头来查找之前执行过的命令
  • 存放文件是~/.bash_history
  • 执行的命令是history
  • 执行上一条命令
    • 上箭头
    • !!
    • !-1
    • ctrl+p 回车
  • 调用上一条命令的最后一个值 esc .
  • !# 指定第多少条命令
  • !-# 指定倒数第#条命令
  • !string 用来最近一次匹配到的命令(从下往上)
  • ctrl+r 搜索命令
  • ctrl+g 取消搜索
  • history # 显示最后#条命令
touch file{1..20}
seq 0 2 10
echo file{1..20..2}
echo -e 'dadasda\ndasdasd'
echo -e '\a' #播放声音
[[email protected] ~]#whoami # 显示当前的登录用户
root
[[email protected] ~]#who am i #显示当前登录用户的详细信息
root     pts/2        2019-08-22 15:54 (192.168.21.1)
[[email protected] ~]#w 显示所有的用户并显示执行的命令
 16:27:54 up  5:19,  9 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
root     tty2                      11:37    4:48m  0.02s  0.02s -bash
wu       tty3                      11:39    4:48m  0.02s  0.02s -bash
root     :0       :0               11:30   ?xdm?   1:28   0.36s /usr/libexec/gnome-session-binary --session gnome-classi
root     pts/0    :0               11:35    4:43m  0.03s  0.03s bash
root     pts/1    192.168.21.1     12:11    4:03m  0.02s  0.02s -bash
root     pts/2    192.168.21.1     15:54    2.00s  0.18s  0.03s w
wu       pts/3    192.168.21.1     12:27    2:26   0.05s  0.05s -bash
[[email protected] ~]#date  显示当前的时间
Thu Aug 22 16:30:06 CST 2019 
Usage: date [OPTION]... [+FORMAT]
  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
[[email protected] ~]#date 010923102018 #修改时间
Tue Jan  9 23:10:00 CST 2018
[[email protected] ~]#date
Tue Jan  9 23:10:18 CST 2018
[[email protected] ~]#ntpdate time.windows.com #同步网络服务器时间
unix元年 1970-01-01
[[email protected] ~]#date
Thu Aug 22 16:35:44 CST 2019
[[email protected] ~]#date
Thu Aug 22 16:35:47 CST 2019
[[email protected] ~]#date
Thu Aug 22 16:35:48 CST 2019
[[email protected] ~]#date +%a
Thu
[[email protected] ~]#date +%A
Thursday
[[email protected] ~]#date +%F
2019-08-22
[[email protected] ~]#date +%H
16
[[email protected] ~]#date +%I
04
[[email protected] ~]#date +%m
08
[[email protected] ~]#date +%d
22
[[email protected] ~]#date +%M
38
[[email protected] ~]#date +%h
Aug
[[email protected] ~]#date +%c
Thu 22 Aug 2019 04:38:42 PM CST
[[email protected] ~]#date +%T
16:39:01
[[email protected] ~]#date +%y
19
[[email protected] ~]#date +%Y
2019
[[email protected] ~]#date +%Y/m/%d
2019/m/22
[[email protected] ~]#date +%Y/%m/%d
2019/08/22
[[email protected] ~]#date +%s
1566463197
[[email protected] ~]#date +%W
33
[[email protected] ~]#timedatectl 
      Local time: Thu 2019-08-22 16:42:43 CST
  Universal time: Thu 2019-08-22 08:42:43 UTC
        RTC time: Thu 2019-08-22 08:42:43
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
[[email protected] ~]#timedatectl set-timezone Asia/Tokyo

cal

cal -y 一年的日历

cal # 显示某一年的日历

  • shutdown 默认1分钟之后关机
    • shutdown -c 取消关机
  • shutdow -r 重启
  • TIME
    • now 立即
    • +n n分钟之后
    • hh:mm 指定时间
  • 关机命令
    • poweroff
    • halt
    • init 0
  • 重启
    • reboot
      • -f 强制
      • -p 关机
    • init 6
echo $PATH

如果你觉得链接慢的话,你可以输入下面两个命令

[[email protected] ~]#echo "UseDNS no" >> /etc/ssh/sshd_config 
[[email protected] ~]#systemctl restart sshd

Linux学习笔记(一)相关教程

  1. spring系统学习-Spring 事务

    spring系统学习-Spring 事务 八 Spring 事务 原子性:事务操作要么是成功,要么是失败的。 一致性:数据一致 隔离性:事务之间,数据是隔离的 持久性:保存到硬盘中 隔离级别 传播行为 是否只读 事务超时 回滚规则 01 隔离级别 指若干个并发的事务之间的隔离程

  2. Vue笔记——搭建脚手架并快速创建Vue项目

    Vue笔记——搭建脚手架并快速创建Vue项目 现在的Vue脚手架已经升级到3.x版本,即vue-cli3。脚手架升级之后,安装的命令发生了变化,所以这篇文章会跟大家演示新旧版本的脚手架安装过程,以及使用新旧版本脚手架创建项目的过程。下面的安装过程均是在window平

  3. spring系统学习-Spring JDBC框架

    spring系统学习-Spring JDBC框架 七 Spring JDBC框架 使用普通的JDBC数据库时,要写很多与业务无关的代码来处理异常,打开和关闭数据库连接等。 Spring JDBC框架负责所有的低层细节,从开始打开连接,准备和执行SQL语句,处理异常,处理事务,到最后关闭连接。 你所

  4. 笔记 嵌入式Linux C

    笔记 嵌入式Linux C 01 嵌入式Linux C_进程与线程 原创转载链接:https://blog.csdn.net/weixin_45781914/article/details/108916984 进程是资源分配的单元,线程是资源调度的单元。两者就像生活中房子(进程)和房间(线程)的关系。 线程只能属于一个进程,

  5. 从零开始做自动驾驶定位-学习笔记-3-软件框架

    从零开始做自动驾驶定位-学习笔记-3-软件框架 从零开始做自动驾驶定位-学习笔记-3-软件框架 从零开始坐自动驾驶学习笔记,主要参考 任乾老师的知乎 进行实践记录 ubuntu18.04 pcl 1.9 glog ceres 1.4 g2o 编译任乾老师的工程,需要预安装一些库,这里进行踩坑

  6. 安装乌班图系统,并且演示有趣的linux命令,你还怕对linux无兴趣

    安装乌班图系统,并且演示有趣的linux命令,你还怕对linux无兴趣吗 进去系统后配置网络 Ctrl+Alt+T 出现终端 然后开始操作命令行 sudo apt-get install sl 输入命令 发现报错 修改软件源 在设置里 软件源 关闭防火墙 开启ssh 服务 首先是进入超级管理权限 可

  7. 【MXNet学习11】opencv实现mxnet均值归一化

    【MXNet学习11】opencv实现mxnet均值归一化 在一般的图像预处理过程中都会对图像进行减去mean,除以std操作。 需要注意的是: 一定要用训练集计算出均值和方差,否则违背了深度学习的原则(即模型训练仅能从训练数据中获取信息)。对于得到的mean值,训练集、

  8. 数据结构学习笔记之——栈和队列

    数据结构学习笔记之——栈和队列 栈和队列 1.1、栈的基本概念 1.1.1、栈的定义 栈(Stack) : 只允许在一端进行插入或删除操作的线性表 。首先栈是一种线性表,但是限定这种线性表只能在一端进行插入和删除操作。如图: 栈顶(Top) : 线性表允许进行插入和