Linux使用详解,10分钟带你玩转Linux基础操作

欢迎前往CSND查看,我的博客原文https://blog.csdn.net/smilehappiness/article/details/105176667

@

目录

  • Linux使用总结

    • 1.Linux介绍
    • 2.Linux常用远程连接工具
    • 3.Linux常用命令总结
      • 3.1 Linux特色目录
      • 3.2 磁盘管理
      • 3.3 文件管理
      • 3.4 系统设置
      • 3.5 Linux下的定时任务
      • 3.6 用户管理
      • 3.7 文件权限
      • 3.8 文档处理
      • 3.9 网络通讯
      • 3.10 备份压缩
      • 3.11 Linux上rz和sz的使用

Linux使用总结

1.Linux介绍

  • 摘自-百度百科

    Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、oracle linux等。

  • 历史背景

    Linux内核kernel最初是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的,在1991年10月5日第一次正式向外公布;

    在linux发布之前,有一种操作系统叫unix,由于价格昂贵不开放源码,所以李纳斯·托瓦兹(Linus Torvalds)决心要开发自己免费的操作系统,Linux借鉴了unix的思想,但没有一行unix的代码,linux系统是从unix系统发展出来的;

    Linux 英文解释为Linux is not Unix,现在业界有一种说法叫:类Unix

  • Linux构成

    Linux是由Linux Kernel+软件包构成;

  • 发行版本

    Linux的发行版就是将Linux内核与应用软件做一个打包。

    目前市面上比较知名的Linux发行版有:

    RedHat、CentOS、Ubuntu、Fedora、Debian、Aliyun Linux、SUSE Linux、Open SUSE、CoreOS、FreeBSD等;

    一般来讲Web应用都选择CentOS,像Java、PHP等都是CentOS操作系统;ASP、.NET、SQL Server微软的一系列组件选择Windows Server操作系统;

2.Linux常用远程连接工具

建议童鞋们买个服务器,阿里云、华为云都可以,Linux使用必须多练习,才能达到熟练掌握。

  • 远程连接工具

SecureCRT

官网下载:https://www.vandyke.com

XShell

官网下载:https://www.netsarang.com/zh/xshell/

Putty

下载链接:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

XFTP

下载链接:https://www.netsarang.com/zh/xftp/

WinSCP

下载链接:https://winscp.net/eng/download.php

以上几个远程连接工具简单说明一下:

SecureCRT这个工具可以直接连接并且上传文件,当然,如果上传文件到服务器,建议使用XFTP或者WinSCP,速度会快一些。

XShell和Putty,使用哪个都行,可以连接远程Linux服务器。

推荐使用:Xshell + WinSCP组合

3.Linux常用命令总结

3.1 Linux特色目录

. .. - ~

一个点是表示当前目录,两个点是表示上一级目录,一个横杠表示上一个工作目录,比如你cd -就返回到上一个工作目录,~表示用户的根目录(/root);

3.2 磁盘管理

cd 目录进入某个目录

cd /info/a 进入多个目录

cd 该命令可以切换目录

pwd 显示当前目录

cd .. 返回上一级目录

cd / 返回根目录

fdisk -l 查看新的分区

ll 纵向列出当前目录下目录及文件

ll -a 可以额外展示隐藏的目录和文件

ls 横向列出当前目录下目录及文件

ls -a 可以额外展示隐藏的目录和文件

ll 和 ls命令区别:ll纵向展示目录和文件,并且展示目录的组、拥有者和权限,而ls仅仅横向展示目录和文件

ll -h 可以列出目录以及目录的大小

dir 列出当前目录下的目录及文件

df 查看系统磁盘空间使用情况,df命令可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力

df -h 查看系统磁盘空间使用情况,参数-h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式,使得看起来更直观

上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。

df -T 可以用来查看分区的文件系统

du 查看文件和目录的磁盘空间使用情况,du可以查看文件及文件夹的大小

du -h 查看文件和目录的磁盘空间使用情况

3.3 文件管理

  • mkdir 创建目录(文件夹)
  • mkdir -p file1/file2 递归创建多个目录
  • mkdir -v file4 创建新目录都显示创建信息
  • mkdir -vp {hello/,maven/} 一个命令创建多个目录结构

    参数解释:

    -p, --parents 可以是一个路径名称。

    此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录

    -v, --verbose 每次创建新目录都显示信息

  • touch 创建空文件或将文件的最后修改时间改为当前时间
  • rm -f 删除文件或目录
  • rm -rf 递归删除目录以及目录包含的所有文件
  • mv 文件(夹) 重命名或者将文件(夹)移动到指定目录

    命令格式: mv [参数] 源文件或目录 目标文件或目录

    参数说明:

    -b :若需覆盖文件,则覆盖前先行备份。

    -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

    -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

    -u :若目标文件已经存在,且 source 比较新,才会更新(update)

    -t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

    -v:显示过程

  • cat 文件名 将整个文件内容输出到控制台
  • more 文件名 逐屏输出(按空白键space就往下一页)
  • less 文件名 逐屏输出(按PgUp、PgDn上下翻页),到结束的时候退出按 q
  • head 文件名 显示头10行
  • tail 文件名 显示末尾10行
  • cp 文件复制
  • cp -rf 递归复制目录
  • find 查找文件,比如:find ./ -name 文件名称

  • find ./ -mtime +5 查找5天前修改过的文件
  • which 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果,这条命令主要是用来查找系统 PATH目录下 的可执行文件。说白了就是查找那些我们已经安装好的可以直接执行的命令。比如which mkdir
  • whereis 查找文件,主要用于程序名的搜索,而且只搜索二进制文件(参数-b)man说明文件(参数-m)源代码文件(参数-s),如果省略参数,则返回所有信息。

3.4 系统设置

  • ps -aux 查看系统进程
  • ps -ef 查看系统进程
  • kill pid 杀掉进程
  • kill -9 pid 强制杀掉进程
  • date 显示或设置系统日期和时间
  • echo $LANG 显示当前语言环境
  • locale 查看是否有中文语言包,如有zh cn表示已经安装了中文语言包
  • uname 查看系统信息
  • cat /etc/centos-release 查看当前centos版本(CentOS Linux release 7.6.1810 (Core))
  • who 显示当前已登录的用户信息
  • whoami 当前登录的是那个用户
  • su 用户名 切换用户
  • shutdown –h now 关机
  • reboot 重启
  • clear 清除屏幕,实际上内容并没有清除,是移到最上面
  • Tab 可以自动补齐命令或者文件名
  • top 查看系统运行负载情况,Linux系统可以通过top命令查看系统的CPU内存运行时间交换分区执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。 详细介绍可以参考我另一篇博文

  • uptime 系统运行负载情况,这个相当于top第一行看到的信息

    系统平均负载定义:在特定时间间隔内运行队列中的平均进程数。

    如果一个进程满足以下条件则其就会位于运行队列中:

    a、它没有在等待I/O操作的结果

    b、它没有主动进入等待状态(也就是没有调用‘wait‘)

    c、没有被停止(例如:等待终止)

    一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!当然这里说的是每个cpu内 核,也就是如果你的主机是四核cpu的话,那么只要uptime最后输出的一串字符数值小于12即表示系统负载不是很严重.当然如果达到20,那就表示当前系统负载非常严重,估计打开执行web脚本非常缓慢

  • free 显示内存的使用情况 (kb)
  • free -m 显示内存的使用情况 (m)
  • free -h 显示内存的使用情况 (G)

3.5 Linux下的定时任务

Linux crontab 命令详细使用,可参考我另一篇博文。

crontab -e 创建或者编辑crontab

crontab -l 查看crontab

crontab -r 删除crontab,注意,这个命令会删除所有的任务,一般不会使用

crontab使用举例

*/1 * * * * echo "hello world" >> /opt/crontab.log

> 重定向覆盖输出,比如 > abc.txt

>> 重定向输出追加,比如 >>abc.txt

| 这个竖线表示管道符号,用于把管道左边的输出作为右边的输入,如常见的ps -ef | grep tomcat

> a.log 清空日志

重定向这块,可以参考博文:https://blog.csdn.net/smilehappiness/article/details/105181739

3.6 用户管理

这里不做详细介绍,具体的可以参考链接:https://www.runoob.com/linux/linux-user-manage.html

我只列几个常用的命令:

  • 用户操作

    useradd 用户名 添加用户

    userdel -r zhangsan 删除用户(userdel 常用的选项是 -r,它的作用是把用户的主目录一起删除)

    passwd 修改用户密码,修改当前登录用户密码passwd

    passwd zhangsan 修改指定用户zhangsan密码,这个只有root有该权限

    id 用户名 可以获取用户的id等信息,如:uid=1001(用户名) gid=1002(test) groups=1002(test)

  • 用户组操作

    cat /etc/passwd 查看系统中的所有用户

    cat /etc/group 查看系统中的所有用户组

    groupadd 组名 创建用户组

    groupdel 组名 删除用户组

    groups 查看当前用户所在组

    groups 用户名 查看指定用户所在组

    usermod -g 组名(A) 用户名(B) 给已有的用户增加工作组,将用户B加入组A(该命令用于修改用户的基本信息)或者使用命令:gpasswd -a 用户名 组名

    gpasswd -d user group 将一个用户从某个组中删除,注意:需要保证 group 不是 user 的主组

3.7 文件权限

  • 文件权限总结介绍

    使用ll命令,可以查看当前目录下,所有目录和文件的用户、组以及权限等信息

    在Linux常见的文件类型有7种,如下图所示:

    文件类型和权限

    -rw-rw-rw -表示文件

    drw-rw-rw d表示目录文件夹

    srw-rw-rw s表示socket套接字文件

    brw-rw-rw b表示Block device块设备

    crw-rw-rw c表示Character Device字符设备

    文件的权限只有3种:r,读权限;w,写权限;x,执行权限。权限的值可以用数字表示分别为,r:4,w:2,x:1

    r--read 表示读权限,对应的值为4

    w--write 表示写权限,对应的值为2

    x--execute 表示可执行权限,对应的值为1

    rwx=7表示拥有所有的读、写、可执行权限

    常见644、755、777三种权限

  • drwxr-xr-x详细介绍:

第1个字母:代表文件类型

第2~4字母:代表用户的权限,这三个字母对应的为属主位,表示创建该文件者或被指定的文件所属者

第5~7字母:代表用户组的权限,这三个字母对应的为属组位,表示文件的所属组,在该组内的非属主用户对该文件拥有该属组权限

第8~10字母:代表其他的用户的权限,既不属于属主又不在属组的用户

>文件中rwx的具体含义:
r:可以使用类似cat等命令查看文件内容
w:可以编辑或删除此文件
x:可以在命令提示符下当做命令提交给内核运行

>目录中rwx的具体含义:
r:可以对此目录执行ls以列出内部的所有文件
w:可以在此目录创建文件
x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息
  • 设置文件的读写执行权限

    chmod 640 aa.txt

    -R 递归,将设置的权限应用到目录以及目录下面的所有文件,如:chmod -R 755 /usr/local

  • 修改文件所属用户

    chown centos aa.txt

    -R 递归修改文件及其下的子文件的所属用户

    chown -R centos /usr/local

  • 修改文件所属组

    chgrp centos aa.txt

    -R 递归修改文件及其下的子文件的所属组

    chgrp -R centos /usr/localhost

  • 一次性修改属主和属组

    chown [OWNER]:[GROUP]] FILE

    chown centos:centos aa.txt

    chown -R centos:centos /usr/local

  • 查看用户所在组

    groups

3.8 文档处理

grep 对文本进行匹配,搜索,如:ps -ef | grep tomcat

sort 排序,如:cat aa.log | sort

uniq 去除相邻重复的行,如:cat aa.txt| sort | uniq

wc 依次输出 行数、单词数、字符数,如:cat aa.txt| wc

日志打印输出、日志内容查找

grep -A 100 ‘Exception‘ catalina.out 匹配关键词的后面100行 after

grep -B 100 ‘Exception‘ catalina.out 匹配关键词的前面100行 befer

grep -C 100 ‘Exception‘ catalina.out 匹配关键词的上下100行 center

或者

cat catalina.out | grep -C 100 ‘Exception‘

cat catalina.out | grep -A 100 ‘Exception‘

cat catalina.out | grep -B 100 ‘Exception‘

tail -f catalina.out实时查看日志文件

tail -100f catalina.out实时查看日志文件末尾一百行

tail -f -n 100 catalina.out 实时查看日志末尾100行

3.9 网络通讯

curl

抓取网络文件内容,比如网页

wget 网络下载

yes、y 对linux命令执行后的接受、肯定、是、确认,如果不接受、不确认、否定 就输入 no 或者 n

ifconfig 查看系统IP

curl ipinfo.io/ip或者curl ifconfig.me 查看外网ip

ping 测试某个地址是否可以连通

lsof -i 端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i 8000,如果不存在的话,安装:yum -y install lsof

netstat 查看所有网络端口,如:netstat -nlp

netstat -tunlp | grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp | grep 8000

netstat 相关参数说明:

-t (tcp) 仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化为数字

-l 仅列出在Listen(监听)的服务状态

-p 显示建立相关链接的程序名

3.10 备份压缩

  • tar 压缩与解压缩

    解压

    tar -zxvf xxx.tar.gz

    tar -zxvf xxx.tar.gz -C /usr/local (可以通过-C执行把文件解压到哪里去)

    tar -xvf xxx.tar

    压缩:

    tar -zcvf xxx.tar.gz ./file/*

    tar -cvf xxx.tar ./file/*

  • zip 压缩与解压缩

    zip a.zip a.txt 压缩为zip格式

    unzip a.zip 解压zip格式的压缩包

  • Windows里面:rar zip

    压缩文件类型:tar tar.gz tar.bz2 tar.xz,他们依次压缩得越厉害,压缩速度当然就越来越慢

    解压都可以使用:tar -xvf

    压缩(记住他们是z j J):

    -zcvf file.tar.gz filenameOrDir 这个压缩成tar.gz格式

    -jcvf file.tar.gz filenameOrDir 压缩成tar.bz2格式

    -Jcvf file.tar.gz filenameOrDir 压缩成tar.xz格式

3.11 Linux上rz和sz的使用

小文件同步到Linux服务器上,有时候不需要使用XFTP或者WinSCP等,可以使用rz和sz操作。

安装:yum -y install lrzsz

rz 上传文件

sz下载文件

本文参考链接:菜鸟教程

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,希望尽自己的努力,做到更好,大家一起努力进步!

如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

原文地址:https://www.cnblogs.com/summary-2017/p/12642782.html

时间: 2024-07-31 12:55:35

Linux使用详解,10分钟带你玩转Linux基础操作的相关文章

【Linux命令详解】6、关闭和重启Linux系统

6.关闭和重启Linux系统 本节主要学习在Linux系统下常用的关闭/重启系统的命令有shutdown.halt.reboot.poweoff和init等. 6.1 shutdown:用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机. 使用权限:系统管理者. shutdown命令可以安全地关闭或重启Linux系统,有些用户会使用直接断掉电源的方式来关闭计算机,这是十分危险的.Linux系统与Windows系统不同,其后台运行着许多进程,所以

Linux基本命令详解《二》(Linux中对目录和文件管理所使用的命令)

Linux基本命令详解<二>内容概述:Linux目录结构查看及检索文件备份及恢复文档vi文本编辑器一,Linux目录结构:树形目录结构(自顶而下)常见的子目录及作用:a./root:系统管理员root的宿主目录b./home:普通用户的宿主目录c./boot:系统内核/启动文件d./dev:设备文件e./etc:配置文件f./bin:所有用户可执行的命令g./sbin:管理员可执行的管理命令h./usr:应用程序i./var:日志文件(俗称可变长文件目录)j./proc :硬件配置信息k. /

10.Linux系统启动详解

10.Linux系统启动详解 ·1.BIOS,负责检查硬件并且查找可启动设备, ·2.MBR:Boot Code, ·bios找到可启动设备后执行其引导代码,MBR的前446字节, ·/boot/grub/stage1内容为当前硬盘MBR的镜像, ·3.执行引导程序-GRUB ·grub是现在Linux使用的主流引导程序,可以用来引导大多数主流系统, ·Linux的grub可以识别windows的启动程序,但windows的会覆盖Linux的,故先windows后Linux, ·grub相关文件

Linux procfs详解

1.0 proc文件系统总览在类Unix系统中体现了一种良好的抽象哲学,就是几乎所有的数据实体都被抽象成一个统一的接口--文件来看待,这样我们就可以用一些简单的基本工具完成大量复杂的操作.在Linux中存在着一类特殊的伪文件系统,用于使用与文件接口统一的操作来完成各种功能,例如ptyfs.devfs.sysfs和procfs.而procfs就是其中应用最广泛的一种伪文件系统.procfs是Linux内核信息的抽象文件接口,大量内核中的信息以及可调参数都被作为常规文件映射到一个目录树中,这样我们就

Linux命令详解nice

[命令]nice — 调整程序运行的优先级 [格式]nice [OPTION] [command [arguments...]] [说明] 在当前程序运行优先级基础之上调整指定值得到新的程序运行优先级,用新的程序运行优先级运行命令行"command [arguments...]".优先级的范围为-20 - 19 等40个等级,其中数值越小优先级越高,数值越大优先级越低,既-20的优先级最高, 19的优先级最低.若调整后的程序运行优先级高于-20,则就以优先级-20来运行命令行:若调整后

[转帖]Linux文件系统详解

Linux文件系统详解 https://www.cnblogs.com/alantu2018/p/8461749.html 贼复杂.. 从操作系统的角度详解Linux文件系统层次.文件系统分类.文件系统的存储结构.不同存储介质的区别(RAM.ROM.Flash).存储节点inode.本文参考: http://blog.chinaunix.net/uid-8698570-id-1763151.html http://www.iteye.com/topic/816268 http://soft.ch

Linux 目录详解 树状目录结构图

1.树状目录结构图 2./目录 目录 描述 / 第一层次结构的根.整个文件系统层次结构的根目录. /bin/ 需要在单用户模式可用的必要命令(可执行文件):面向所有用户,例如:cat.ls.cp,和/usr/bin类似. /boot/ 引导程序文件,例如:kernel.initrd:时常是一个单独的分区[6] /dev/ 必要设备, 例如:, /dev/null. /etc/ 特定主机,系统范围内的配置文件. 关于这个名称目前有争议.在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为

Linux信号详解

Linux信号详解 一 信号的种类 可靠信号与不可靠信号, 实时信号与非实时信号 可靠信号就是实时信号, 那些从UNIX系统继承过来的信号都是非可靠信号, 表现在信号 不支持排队,信号可能会丢失, 比如发送多次相同的信号, 进程只能收到一次. 信号值小于 SIGRTMIN的都是非可靠信号. 非可靠信号就是非实时信号, 后来, Linux改进了信号机制, 增加了32种新的信号, 这些信 号都是可靠信号, 表现在信号支持排队, 不会丢失, 发多少次, 就可以收到多少次. 信号值 位于 [SIGRTM

Gentoo Linux安装详解--根据官方WiKi整理

1. 前期准备 远程登录: 开启ssh服务: /etc/init.d/sshd start 设置密码: passwd 以便使用putty.ssh client远程登录上传stage等(有时在线下载很慢,而局域网上传很快) 准备磁盘: 分区: fdisk /dev/sda /dev/sda1 : /boot 100M(32-100M) 设启动笔记-a/dev/sda2 : / 20G/dev/sda3 : /home 20G/dev/sda5 : /swap 1G (内存< 512 MB,分区分配