Linux基础知识


Linux简介

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

今天各种场合都有使用各种Linux发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用LAMP(Linux + Apache + MySQL + PHP)或LNMP(Linux + Nginx+ MySQL + PHP)组合。

Linux入门教程链接
Linux 简易教学 (机器学习/深度学习 莫烦 Python 教程)-bilibili

1. Linux 关机

正确的关机流程为:sync > shutdown > reboot > halt

命令说明
sync将数据由内存同步到硬盘中
shutdown关机指令
Shutdown –h now立马关机
Shutdown –h 20:25系统会在今天20:25关机
Shutdown –h +10十分钟后关机
Shutdown –r now系统立马重启
Shutdown –r +10系统十分钟后重启
reboot就是重启,等同于 shutdown –r now
halt关闭系统,等同于shutdown –h now 和 poweroff
# 关机的命令有 
shutdown –h now halt poweroff
init 0
# 重启系统的命令有 
shutdown –r now
reboot init 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2. 远程登陆

  • SSH 为安全外壳协议 (Secure Shell) 的缩写,建立在应用层基础上的安全协议。
  • SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
  • SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
sudo apt-get install openssh-server #安装ssh终端
  • 1

Linux 重要系统目录

  • /home:用户的主目录
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /bin:bin是Binary的缩写, 常用的可执行文件
  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /boot:启动Linux时使用的一些核心文件
  • /dev :Device(设备), 该目录下存放的是Linux的外部设备
  • /etc:系统管理所需要的配置文件和子目录。
  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /tmp:这个目录是用来存放一些临时文件的。
  • /usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

Linux 文件与目录管理

1. 文件和目录

  • / 最顶级的根目录
  • ~ home目录
  • .. 上层目录
  • . 当前目录
  • 隐藏目录或者文件名以 . 开始
  • 绝对路径必须以/开头,相对路径则较短
  • --help参数,帮助文档

2. 文件和目录常用操作命令

ls列出目录
ls -a显示隐藏文件
ls -l显示详细内容
ls -d显示目录本身的属性
cd切换目录(Change Directory)
cd [dir]dir 相对路径或绝对路径
pwd显示当前目录(Print Working Directory)
pwd [-P]显示出确实的路径,而非使用连结 (link) 路径
创建目录或文件说明
mkdir [-mp] dir创建新目录
touch [options] files创建文件
复制文件或目录 
cp [options] source1 source2 source3 …. directory 
参数:
-f
-i
-r

强制复制,若已存在目录则覆盖
交互复制
递归复制目录
移除文件或目录 
rm [options] file_or_dir移除文件或目录
参数:
-f
-i
-r

强制删除
交互删除
递归删除目录
rmdir [-p] dir删除一个空的目录
移动文件与目录,或重命名 
mv [options] source1 source2 source3 …. directory 
参数:
-f
-i
-u

强制移动
交互移动
升级(update)
文件内容查看说明
cat [options] file由第一行开始显示文件内容
tac [options] file从最后一行开始显示
参数:
-b
-n

列出行号,包括空白行
列出行号,不包括空白行
nl [options] file显示行号输出
more file分页显示
less file分页显示
head [-n number]显示前number行
tail [-n number]显示后number行

3. Linux文件权限

Linux使用user和group控制使用者对文件的权限,每个文件或程序都有ower和group
file

ls -l 显示文件详细信息
chmod [options] mode file 修改文件权限

mode参数 : 权限设定字串,[ugoa...][+-=][rwxX]

u 表示用户,g 表示群组,o 其他人,a 表示全部
+ 表示增加权限,- 表示取消权限,= 表示唯一设定权限。
r(read)只读,w(write)写入,x(execute) 可执行

4. 文件的压缩和打包

Linux支持的压缩格式

  • Z:compress程序压缩文件
  • gz:gzip程序压缩文件
  • bz2:bzip2程序压缩文件
  • tar:tar程序打包文件,并未压缩
  • tar.gz:tar程序打包文件,gzip程序压缩文件
  • tar.bz2:tar程序打包文件,bzip2程序压缩文件

gzip [-cdtv#] file

参数:
-c:压缩的数据输出到屏幕
-d:解压缩的参数
-t:进行文件一致性校验,看是否损坏
-v:显示和源文件对比的压缩比
-#:压缩等级,-1最快,-9最慢,默认-6

bzip2 [-cdkzv#] file

参数:
-k:保留源文件
-z:压缩的参数,该参数代表时执行压缩操作
其他参数同gzip

tar [-jcv] -f filename.tar.bz2 dir #打包并压缩
tar [-jxv] -f filename.tar.bz2 -C dir #解压缩
  • 1
  • 2

参数:
-c:建立打包档案
-t:查看打包文件的文件名
-x:解压缩或解打包文件,和-C配合
-j:通过bz2程序操作
-z:通过gzip程序操作
-v:将正在处理的文件名显示出来

Shell基础

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Linux 的 Shell 种类众多,常见的有:

Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)

1. 运行 Shell 脚本

作为可执行程序

chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本
  • 1
  • 2

作为解释器参数

/bin/sh test.sh
/bin/php test.php
  • 1
  • 2

2. Shell 输入/输出重定向

  • 标准输入(stdin),代码0
  • 标准输出(stdout)是指令成功时返回的结果,代码是1
  • 标准错误输出(stderr)是指令执行失败返回的错误信息,代码是2
命令说明
command > file将输出重定向到 file。
command < file将输入重定向到 file。
command >> file将输出以追加的方式重定向到 file。
n > file将文件描述符为 n 的文件重定向到 file。
n >> file将文件描述符为 n 的文件以追加的方式重定向到 file。
n >& m将输出文件 m 和 n 合并。
n <& m将输入文件 m 和 n 合并。
<< tag将开始标记 tag 和结束标记 tag 之间的内容作为输入。

3. 管道操作

Linux管道符|处理经由前面一个指令传出的正确输出信息(对错误信息信息没有直接处理能力)传递给下一个命令,作为标准的输入。

Ubuntu包管理工具

1. dpkg

dpkg(Debian Package Management System) 是ubuntu/Debian下的二进制包(.deb格式)管理系统,包括安装、删除、查询等。

dpkg常用命令说明
dpkg -i pkgname.deb安装软件
dpkg -r pkgname删除软件
dpkg –info pkgname.deb查询软件包信息
dpkg –status pkgname 
dpkg –listfiles pkgname查询软件包所含文件
dpkg –contents pkgname.deb 
dpkg –seach filename查询文件归属
dpkg -l查询系统中的包

2. apt

apt(Advanced Packaging Tool)是ubuntu/debian及派生发行版的软件包管理工具,可以自动下载,配置,安装二进制或者源代码格式的软件包。

apt常用命令说明
apt-get install pkg安装软件
apt-get remove pkg删除软件
apt-cache show pkg查询包信息
apt-file list pkg查询软件包所含文件
apt-file search filename查询文件归属
apt-cache pkg查询系统中的包

3. 安装R包报错处理

安装R包报错时,通常都会显示错误信息,只要按提示的错误信息安装对应的软件包即可。
sudo apt-get install libxml2-dev
r

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值