Liunx

命令学习

  • 返回上一次所在的目录:cd -
  • 查看环境变量:echo $PATH
  • 设置环境变量:PATH=””
  • 设置可执行权限:chmod +x 文件名称
  • 查看文件自身信息:ls -d
  • 递归产看文件信息:ls -R
  • 复制 cp[选项] /path1/文件夹1 /path2/文件夹2
    如果不存在这个文件夹2或者不存在,则把/path1/文件夹1拷贝到文件path2下并且重命名为文件夹2
  • cp -a -r -f -u -p -d
  • -a 可以拷贝文件夹
  • -f 强制
  • -r 递归
  • -d 拷贝链接
  • -p 文件信息
  • 剪切:mv
    有重命名的作用 mv a b 将a重命名为b
  • basename 得到文件名
  • dirname 得到文件所在的路径名
  • 产看文档的内容 cat tac head nl tail more less 只能查看文本文件
  • cat:只适合查看一些小文件
    -n 加上文档的行数
  • tac: 倒置显示文件
  • nl:跟cat -n 作用相同,不现实空白行
    -b:显示空白行
  • more:分屏查看文件内容,只能往后翻不能往前翻
  • less:查看文件
  • head:可以查看文件的前几行
    hand 行数 文件名
  • tail:查看文件的尾几行
  • tail -f 可以时时监控文件的变化。
  • od -t c :查看二进制文件
  • touch 文件名称 :如果文件不存在则创建一个文件,如果文件存在则跟新文件创建的时间为当前时间。
    -文件默认权限:umask
    当创建目录的时候,权限就是减去默认umask的值
    当创建文件的时候,权限不等于直接减去umask的值
  • 查看隐藏权限:lsattr
  • 添加隐藏文件:chattr
    +a 只能添加,不能删除
    +i 无法修改
  • 修改文件所有者 chown 用户 文件名称
  • 修改文件所在的组 chgrp 组名 文件名称
  • 查找命令所在的路径:whereis -b -m 命令

文件-磁盘管理

简单命令

shutdown -h 10 十分钟后关闭计算机
sync 将缓存的东西写入硬盘当中去
init 切换运行级别
runlevel 查看当前运行级别
reboot -f 立即重启

创建目录: mkdir

通过mkdir命令可以创建⼀个新的⽬录。参数-p可递归创建目录。需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。

显示文件目录 tree

按照树状结构显示文件目录

删除目录: rmdir

可以使用rmdir删除文件目录,但是你必须要离开当前目录,并且目录为空。否则删除失败。

删除文件: rm

可通过rm删除⽂件或⽬录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文
件误删,可以在rm后使用-i参数以逐个确认要删除的文件。

建立链接文件: in

Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接。
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
硬链接:硬链接只能链接普通文件,不能链接目录。

使用格式:
ln 源文件 链接文件
ln -s 源文件 链接文件
如果 没有-s 选项代表建立一个硬链接文件,两个文件占用相同存储的硬盘空间,即使删除
了源文件,链接文件还是存在,所以-s选项是更常的的形式。
注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

输出文件内容或者合并文件内容 cat

cat test.txt 查看当前路径下的文件内容
cat test.txt test1.txt > heihei.text 将两个文件的内容重定向到heihei.text

先清空后添加 >> 不会覆盖,直接在尾部添加

cp: 拷贝文件

cp test/haha test3 -ivr 将目录haha复制到test3文件中

移动文件: mv

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。

归档管理: tar

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系
列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式 tar [参数] 打包文件名 文件

文件压缩解压: gizp

tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压
缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
gzip [选项] 被压缩文件
-d 解压
-r 压缩所有子目录


如果要使用tar来压缩文件可以增加参数z来实现
tar -cvzf test.tar.gz * 当前路径下所有的文件以及文件夹打包并压缩到test.tar.gz文件中
解压用法: tar zxvf 压缩包包名
tar zxvf test.tar.gz 解压到当前路径下
tar zxvf test.tar.gz -C dongge/ 解压到指定路径下

查看命令位置: which

which ls

Linux命令-用户、权限管理

查看当前用户: whoami

who

who命令用于查看当前所有登录系统的用户信息。

设置文件权限: chmod

字母法:chmod u/g/o/a +/-/= rwx 文件
数字法:chmod 777 文件
w = 2
r = 4
x = 1
- = 0

修改文件所有者: chown

sudo chown 用户 文件

修改文件所属组:chgrp

sudo chgrp 组名 文件

Linux系统管理

查看进程信息:ps

杀死进程kill

需要配合ps使用 如果要强制结束可以使用参数-9

ubuntu如何切换到root用户

默认安装完成之后并不知道root用户的密码,那么如何应用root权限呢?
(1)sudo 命令
这样输入当前管理员用户密码就可以得到超级用户的权限。但默认的情况下5分钟root权限就失效了。
(2)sudo -i
通过这种方法输入当前管理员用户的密码就可以进到root用户。
(3)如果想一直使用root权限,要通过su切换到root用户。
那我们首先要重设置root用户的密码:
sudo passwd root
这样就可以设置root用户的密码了。

su “用户名” 或者 exit回到用户权限

之后就可以自由的切换到root用户了
su
输入root用户的密码即可。

关于挂载点的理解

Linux是树型目录结构,与windows的C,D,E盘完全不同,Linux只有一个根目录’/‘,其余各个目录都是基于这个根目录发散,就是树形结构。因此Linux分区跟Windows的C,D,E盘分区完全不同,而是将某个分区挂到一个对应的目录上,例如/home对应一块分区,home目录就是这块分区的挂载点、/boot对应一块分区,boot目录就是这块分区的挂载点、/usr对应一块分区,usr目录就是这块分区的挂载点。你可以形象的理解:一棵大树(根目录/)有很多树枝(目录,挂载点),每个树枝上都挂着一个箱子(分区,存储空间)。

目录结构

目录名称 目录内容
bin 保存二进制文件
boot 系统的启动文件,包含系统的初始化文件和内核
dev 设备文件
etc 配置文件
home 用户的家目录
lib 系统的库文件
media 系统的自动挂载点,当你访问U盘的时候实际上访问的是media这个文件夹中的某个子文件夹
mnt 挂载点
opt 当使用源码包安装软件的时候一般都会把软件安装到opt中去
proc 内核中的参数
root 系统管理员的家目录
sbin 存放的二进制的命令,只有系统管理员可以使用
usr 默认安装软件的路径
tmp 存放临时文件
var 缓存,日志,数据库文件

假如我下载了100G的电影我放置在那个地方

可以新建一个文件夹,让分区挂载在这个文件夹上面

体系结构

用户态(用户上层活动)和内核态

内核:本质上是一段管理计算机硬件设备的程序

内核提供上层应用访问的接口

系统调用:内核访问接口,是一种不能再简化操作

公用函数库:系统调用的组合拳

Shell: 命令解释器,可编程

Linux基本命令

top 查看占用的资源

tail -fn 10 <文件名称> 动态查看文件内容,用来查看日志

① sudo apt-get update ##更新所有软件包

② apt-get常用命令

命令 描述
apt-get install 下载并安装软件包
apt-get upgrade 下载并安装本系统上已有的软件包的最新版
apt-get remove 卸载特定的软件包
apt-get source 下载特定软件的源代码
apt-get clean 删除所有的已下载的包文件
查找特定的文件 find

find -name

检索文件内容 grep

管道 |,可将指令连接起来,前一个指令的输出可以作为另一个指令的输入

快捷键

ctrl+l

ctrl+u

ctrl + a

ctrl + e

ctrl + r

top - H

cpu us: 用户空间的cpu使用情况 用户层代码

cpu sy:内核空间的cpu使用情况 系统调用

load average: 1,5,15分钟load平均值,跟着核数系数,0代表通常,1,代表打满,1+代表等待阻塞

memory:free 空闲内存,used使用内存

pstree -p 端口号 线程树

-------------本文结束感谢您的阅读-------------