LINUX 入门及一些基本的操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINUX 入门及一些基本的操作相关的知识,希望对你有一定的参考价值。

Linux 入门

目录
一、 用户登录
二、 终端
三、 shell介绍
四、 执行命令
五、 简单命令
六、 命令行历史
七、 bash快捷键
八、 使用ghome-ternimal
九、 文件管理
十一、. 目录、inode表与文件
十二、 软/硬链接
一、用户登录
在Linux系统中有两种用户,一种为root用户,一种为普通用户,
1、root 用户
root是一种特殊的管理账户,拥有管理系统的所有权利,相当于windows的超级管理员,可以管理任何的文件,也可以管理其它普通用户的权限,对于管理系统非常的方便,(但是对系统损害也几乎拥有无限的能力,除非必要不要登录root)
2、普通(非特权)用户
权限有限,也不能对其它的用户信息及权限进行修改,造成损害的权利比较有限
二、终端terminal
终端是用来管理Linux 的的一种
1、设备终端
键盘鼠标显示器
2、物理终端(/dev/console)
控制台 console
3、虚拟终端(tty:teletypewriters, /dev/tty# #为[1-6])
tty 可有多个,ctrl+Alt+F[1-6]
4、图形终端(/dev/tty7) starx, xwindows
Centos 6:ctrl+Alt+F7
Centos 7:在哪个终端启动,即位于哪个虚拟终端
5、串行终端(/dev/ttys$)
ttys
6、伪终端(pty: pseudo-tty, /dev/pts/#)
pty ,SHH 远程连接
7、查看当前终端设备的命令是tty
三、shell 介绍
shell 是Linux系统的用户界面,提供了用户与内核进行互相操作的一种接口。它接受用户输入的命令并把它送到内核去执行。shell也被称为Linux的命令解释器,shell是一种高级程序语言。
1、echo 显示当前
2、cat /etc/shells 显示当前系统使用的所有shell
3、命令提示符 [[email protected] ~]#

管理员 $ 普通用户

          echo    $PS1    显示提示符格式
            PS1="\[\e[311m\][\[email protected]\h \W]\\$\[\e[0m\]"
                 \e \033       颜色         \u 当前用户 
                     \h 主机名简称             \H 主机名
         \w 当前工作目录          \W 当前工作目录基名
         \t 24小时时间格式        \T 12小时时间格式
         \! 命令历史数                \# 开机后命令历史数

四、执行命令
输入命令后回车即可执行命令
1、在shell中可执行的命令分为两种:
内部命令:由shell自带的,而且通过某命令形式提供
help 显示所有的内部命令列表
enable 显示所有已激活的内部命令
enable cmd 激活被禁用的内部命令
enable -n cmd 禁用某个内部命令
enable -n 显示所有被禁用的内部命令
enable -a显示所欲内部命令
enable -a |wc -1 显示所有的内部命令的数量
enable |wc -1 显示激活中的内部命令的数量
2、外部命令:在文件系统路径下有对应的可执行程序文件
查看路径:which -a |--skip-alias ;whereis
3、区别制定的命令是内部命令或是外部命令的命令:
type cmd
4、当执行一条命令时的查找顺序
别名
内部命令
外部命令
hash(缓存表)
path(存储外部命令的命令)
5、hash缓存表:系统重启后hash表为空,当执行一个外部命令时,默认会从path路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在则执行之,如果不存在,将会去path路径下寻找。利用hash缓存表可大大提高命令的调用速率
hash命令的常见用法
hash 显示所有被hash的命令路径
hash -l 显示所有被hash的命令路径,包含别名
hash -p 路径 别名 手工添加一条hash
hash -t name 显示别名(命令)的hash路径
hash -d 别名(命令) 删除指定命令或别名的hash条目
hash -r 清空所有的hash
6、alias 显示所有的别名信息
alias 别名=‘cmd -选项 参数’ 定义一个命令的别名
unalias 别名 取消一个别名
unalias -a 取消所有的别名
别名的保存 /etc/bashrc
如果一个别名跟另一个命令重名了,要想使用哪个命令而不是哪个别名的话,可以使用下列方式:
\cmd
‘cmd‘
"cmd"
/path/cmd
7、 在命令行中定义的别名,仅对当前shell进程中有效,如果想要永久有效,可以定义在配置文件中,
仅对当前用户的配置文件:~/.bashrc
对所有用户有效的配置文件:/etc/bashrc
编辑配置给出的新配置不会立即生效,需要重新读取配置文件后才能生效
source /path/to/config_file
五、 简单命令
1、命令的执行语法
cmd 选项 参数
选项:用于启用或关闭命令的某些功能
参数:命令的作用对象,
(多个选项以及多参数和命令之间使用空白字符分隔
取消命令和结束命令:Ctrl+c ,Ctrl+d
多个命令在一行可以用;符号分开
一个命令可以用\分成多行)
2、Linux中一些基础的命令
1.时间
date 显示系统日期和时间
clock,hwclock :显示硬件时钟
Linux的两种时钟,
系统时钟:Linux的系统时间,关机后则不再工作
硬件时钟:硬件时钟,在关机后仍然工作,依靠主板上的 一 颗 纽扣电池供电
hwclock -s 以硬件时间为准,校正系统时钟
hwclock -w 以系统时间为准,校正硬件时钟
date
+%Y 只显示 年
+%m 只显示月
+%d 日
+%H 时
+%M 分
+%S 秒
+%F 年-月-日
+%T 时:分:秒
用date 设置系统时间
date 月日时分年[.秒] date 102013112020.45
dae -s ‘年-月-日 时:分:秒’

  1. cal 显示日历
    cal 显示今年本月的日历
    cal 年份 显示该年一整年的日历
    cal 月份 年份
    3.关于开关机
    poweoff 关机
    reboot 重启
    init 0 关机
    init 6 重启
    shutdown -r 重启
    shutdown -h 关机
    shutdown +n n分钟后关机
    shutdown 20:20 20:20 关机(定时关机)
    (如何取消关机,在当前终端可以Ctrl+c 取消关机,在其他终端可以打命令shutdown -c 取消关机计划)
    4.关于查看当前用户的信息
    whoami 显示当前用户名
    who am/are/is 任意字符 显示当前终端的信息
    who 显示所有终端的信息
    w 显示所有终端的详细信息及操作
    5.screen命令
    screen 创建一个会话可以让不同地方两个终端共享一个终端, 在其中一个终端上敲命令,另一个终端上也能显示出来
    screen 生成默认名字的会话
    screen -S 会话名 创建指定名的screen
    screen -ls 查看所有已打开的screen
    screen -x 会话名 加入已创建的screen
    exit 退出当前会话
    6.echo 输出内容在终端上
    -E 不开始解释功能,默认
    -n 不自动换行
    -e “”开启解释功能“”
    \a 警告声
    \b 退格
    \c 不换行
    \n 回车换行
    \r 回车,即光标移至行首,但不换行
    \t 插入tab
    \ 插入\
    7.关于whatis 的用法和作用
    whatis cmd或man -f cmd 仅能提供命令基本的介绍。不提供用法,基于数据库的查找,优点是检索速度快,缺点是缺乏实时性。
    8.pwd 查看当前所在目录的路径
    pwd -d 当前目录为软链接时,显示其源目录
    9.ls用法
    ls -a 显示所有目录和文件,包括隐藏文件
    ls -A 显示所有文件,除. , ..
    ls -l 以长格式列出文件和目录
    -rw-r--r--. 1 root root 2193 Jul 14 17:28 passwd
    文件类型|owner权限group权限other权限|硬链接数|owner|group|文件大小(bytes)|mtime|文件名
    ls -R 递归
    ls -ld 显示指定目录的详细信息
    ls -S 按文件大小降序排列
    ls -t 按修改时间(Mtime) 从新到旧排列
    ls -ut 按访问时间(atime) 从新到旧排列
    ls -U 按文件存放先后顺序
    ls -X 按文件后缀排序
    ls -i 显示inode号
    时间戳 atime 访问时间
    mtime 文件数据修改时间
    ctime 文件元数据修改时间
    查看某个文件或目录的时间戳:stat 文件或目录路径)
    六、命令行历史
    history 历史命令查询命令,显示当前终端的历史记录
    history 查询历史记录
    history -c 清空当前的所有历史记录
    history -d 删除某条历史
    history -a 将当前终端执行的命令写入历史记录文件中 (文件由 变量HISTORY决定,默认为用户家目录的.bash_history
    history -w /path/filename.txt 将历史记录写入指定文件
    history -n 将未读过的历史从文件中读取
    history -r 将所欲历史从文件中读取
    !! 重复执行上一条命令
    !-n 重复执行倒数第n条命令
    !n重复执行第n条命令
    !:0 执行前一条命令(去除参数)
    !str 重复前一个以str 开头 的命令
    !?str 重复前一个包含str的命令
    !str:p 仅打印以str开头的命令历史,而不执行
    !$:p 打印输出!$ 上一条命令的最后一个参数的内容
    :p 打印输出(上一条命令中所有的参数)的内容
    ctrl -r 在历史命令中搜索命令
    ctrl -g 从历史搜索模式中退出
    esc, .(点击esc键松开,然后点击.键)
    alt +. (按住alt键的 同时点击 . 键)
    调用历史参数
    cmd ! ^ 利用上一个命令的第一个参数做cmd的参数
    cmd !$ 利用上一个命令的最后一个参数做cmd的参数
    cmd !
    利用上一条命令的全部参数做cmd的参数
    cmd !:n 利用上一个命令的第n个参数做cmd的参数
    cmd !n:^ 调用第n条命令的第一个参数
    cmd !n:m 调用第n条命令的第m个参数
    cmd !n: 调用第n条命令的所有参数
    cmd !str:^ 从命令历史中搜索以str开头的命令,并获取它的 第一个参数
    cmd !str:$ 从命令历史中搜索以str开头的命令,并获取它的 最后一个参数
    cmd !str:n 从命令历史中搜索以str开头的命令,并获取它的 第n个参数
    cmd !str:
    从命令历史中搜索以str开头的命令,并获取它的 所有参数
    七、bash快捷键
    Ctrl+L 清屏
    Ctrl+O 执行当前命令,并重新显示本命令
    Ctrl+s 锁定,输入运行任何命令屏幕上都不显示,但仍执行命令
    Ctrl+q 解锁
    Ctrl+C 强制结束
    Ctrl+D 正常终止
    Ctrl+Z 挂起(暂停命令)
    Ctrl+a 光标移动到命令行首,相当于home
    Ctrl+e 光标移动到命令行尾,相当于end
    Ctrl+f 光标向右移动一个字符
    Ctrl+b 光标向左移动一个字符
    Ctrl+xx 光标在命令行首和光标当前位置之间移动
    Ctrl+u 删除光标之前的内容
    Ctrl+k 删除光标之后的内容
    Ctrl+w 从光标处向左删除至单词首
    Ctrl+d 删除光标后的一个字符
    Ctrl+h 删除光标钱的一个字符
    Ctrl+y 将删除的字符粘贴至光标后
    Ctrl+t 交换光标处和之前的单词位置
    Alt +f 向右移动一个单词
    Alt +b 向左移动一个单词
    Alt +r 清除全部内容
    Alt +d 从光标处向右删除至单词尾
    Alt +c 从光标处开始向右更改为首字母大写的单词
    Alt +u 从光标处开始,将右边一个单词更改为大写
    Alt +l 从光标处开始,将右边一个单词更改为小写
    Alt +t 交换光标处和之前的单词位置
    Alt +N 提示输入指定字符后,重复显示该字符n次(n表示具体的数 字)
    八、使用ghome-ternima
    Ctrl-Shift-n 创建新窗口
    Ctrl-Shift-q 关闭当前窗口
    Ctrl-Shift-t 创建一个标签页
    Ctrl-Shift-w 关闭一个标签页
    Ctrl-Paup/padn 切换到上一个/下一个标签页
    Ctrl-Shift-c 复制选中的文本
    Ctrl-Shift-v 把文本粘贴到当前光标处
    九、文件管理
    1、文件系统
    文件和目录被组织成一个倒根树结构。
    文件系统从根目录下开始,
    用“/",文件名区分大小写,
    以.开头的文件为隐藏文件,
    路径分隔符“/”
    文件有两类数据,
    元数据metadata
    数据 data
    文件名最长255个字节,包含路径在内文件名称最长4095个字节
    蓝色 -->目录;绿色 --> 可执行文件 ; 红色 - -> 压缩文件;浅蓝色 --> 链接文件;灰色-->其他文件
    2、Linux根目录下的目录的作用
    /boot: 引导文件存放目录,内核文件、引导加载器都存放于此
    /bin : 供所有用户使用的基本命令
    /sbin: 管理类的基本命令
    /lib : 启动时程序依赖的基本共享库文件以及内核模块文件
    /lib64: 专用于x86_64系统上的辅助共享库文件存放位置
    /etc: 配置文件目录
    /home : 存放着普通用户的家目录
    /root : 管理员root的家目录
    /media: 便携式移动设备挂载点
    /mnt : 临时文件系统挂载点
    /dev : 设备文件及特殊文件存放位置
    /opt: 第三方应用程序的安装位置
    /srv: 系统上运行的服务用到的数据
    /tmp: 临时文件存储位置
    /proc: 用于输出内核与进程信息相关的虚拟文件系统
    /sys: 用于输出当前系统上硬件设备相关信息虚拟文件系统
    /selinux:securityenhanced Linux,selinux相关的安全政策等信息的存储位置
    3、Linux下的文件类型
    -:普通文件
    d:目录文件
    b:块设备
    c:字符设备
    l:符号链接文件
    p:管道文件pipe
    s:套接字文件socket
    4、显示当前工作目录
    每个shell和系统进程都有一个当前的工作目录
    1.pwd 显示当前的工作目录
    -p 显示真实物理路径
    -L 显示链路路径(默认)
    5、路径的表示方式
    绝对路径:以正斜杠开始,是从根目录开始到达目标目录
    相对路径:不以正斜杠开头,从当前目录开始到达目标目录
    6、更改目录
    cd 单独一个cd命令会从当前目录切换至登录用户的家目录
    cd 目标路径:从当前目录切换至目标目录
    7、文件通配符
    [:digit:]:任意数字,相当于0-9
    [:lower:]:任意小写字母
    [:alnum:]:任意数字或字母
    [:blank:]:水平空白字符
    [:space:]:水平或垂直空白字符
    [:punct:]:标点符号
    [:print:]:可打印字符
    [:cntrl:]:控制(非打印)字符
    [:graph:]:图形字符
    [:xdigit:]:十六进制字符
    8、创建空文件和刷新时间
    touch 选项 文件路径 : 创建一个文件
    -a 仅改变 atime和ctime
    -m 仅改变 mtime和ctime
    -t [[CC]YY]MMDDhhmm[.ss]
    指定atime和mtime的时间戳
    -c 如果文件不存在,则不予创建
    9、复制文件或目录
    cp 选项 原文件路径(src) 目标文件路径(dest)
    -i:覆盖前提示
    –n:不覆盖,注意两者顺序
    -r: -R: 递归复制目录及内部的所有内容
    -a: 归档,相当于-dR --preserv=all
    -d:--no-dereference --preserv=links 不复制原文件,只复制链名
    -p: 等同--preserv=mode,ownership,timestamp
    -v: --verbose 显示复制的过程
    -f: --force 当普通用户对某目录有rx权限时,使用-f可以将没有修改 权限的文件强制覆盖。即删除再创建
    src是文件:
    如果dest不存在:新建dest,并将src中内容填充至dest中
    如果dest存在:
    如果dest是文件:将src的内容覆盖至dest中,基于安全,建 议为cp命令下使用-i选项
    如果dest是目录:在dest下新建与src同名的文件,并将src中 的内容填充至新文件中
    src是目录:此时使用选项-r
    如果dest不存在:则创建指定目录,复制src目录中所有文件至 dest中;
    如果dest存在:
    如果dest是文件:报错
    如果dest是目录:将src目录下所有文件或目录一次复制至 dest目录下
    10、移动和重命名文件
    mv 选项 src dest
    -i :交互式
    -f :强制
    -r :递归
    11、删除文件
    rm 选项 目标路径
    -i:交互式
    -f:强制删除
    -r:递归
    12、tree 显示目录树
    -d :只显示目录
    -L level:指定显示的层级数目
    -p pattern:只显示由指定pattern匹配到的路径
    13 创建目录
    mkdir 目录路径 在该目录下创建一个目录
    -p:存在于不报错,且可自动创建所需的各目录
    -v:显示详细信息
    -m mode:创建目录时直接指定权限
    14、删除空目录
    rmkdir 目录路径 删除这个空目录
    -p:递归删除父空目录
    -v:显示详细信息
    rm -r:递归删除目录树
    十、目录、元数据、inode表与文件
    人是通过目录文件名来引用一个文件,每一个文件都有一个相对应的i元数据,每一个元数据都对应着一个inode号,目录是目录下的文件和文件inode号之间的映射
    1、元数据里面包括:
    文件类型,权限,UID,GID
    链接数
    该文件的和不同的大小和不同的时间戳
    指向磁盘上文件的数据块指针
    有关文件的其他数据
    2、在cp的命令:
    分配一个空闲的inode号,在inode表中生成新的条目
    在目录中创建一个目录项,将名称与inode编号关联
    拷贝数据生成新的文件
    3、rm命令
    链接数递减,从而释放的inode号可以被重用
    把数据块放在空闲列表中
    删除目录项
    数据实际上不会马上被删除,但当另一个文件使用数据块时将被
    覆盖
    4、mv和inode
    如果mv命令的目标和源文件在相同的文件系统,作为mv命令
    用新的文件名创建对应新的目录项
    删除旧目录条目对应的旧的目录名
    不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被 移动
    如果目标和源不同的文件系统,mv相当于cp和rm
    十一、软/硬链接
    1、硬链接
    创建硬链接会增加额外的记录项以引用文件
    对应于同一文件系统上一个物理文件
    每个目录引用相同的inode号
    创建时链接数递增
    删除文件时:
    rm命令递减计数的链接,文件要存在,至少有一个链接数
    当链接数为0时,该文件被删除
    不能跨越分区
    创建硬链接的语法:
    ln filename [linkname]
    2、软链接
    一个符号链接指向另一个文件
    ls - l的 显示链接的名称和引用的文件
    一个符号链接的内容是它引用文件的名称
    可以对目录进行
    可以跨分区
    指向的是另一个文件的路径;其大小为指向的路径字符串的
    长度;不增加或减少目标文件inode的引用计数;
    语法:
    ln -s filename [linkname]
    3、查看文件类型
    文件可以包含多种类型的数据使用file可以检查文件的类型,然后确定适合的命令或应用程序使用,其语法规则为:
    file 选项 文件目录路径
    -b :列出文件辨识结果时,不显示文件名称
    -f filelist: 列出文件filelist中文件名和文件类型
    -F:使用指定分隔符号替换输出文件名后默认的:分隔符
    -L:查看对应软链接对应文件的文件类型
    --help:显示命令在线帮助

以上是关于LINUX 入门及一些基本的操作的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式 Linux 入门(一Linux 基本介绍及文件结构)

嵌入式 Linux 入门(一Linux 基本介绍及文件结构)

Linux 入门基础 及一些常见命令

Linux简介及Linux学习路线图

linux入门---三个操作系统调用接口

LAMP的基本配置