ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux基础命令大全

2021-06-01 12:04:28  阅读:88  来源: 互联网

标签:文件 用户 命令 Linux 格式 root 目录 大全


linux linux的组成 linux的版本 linux内核 外围程序 Linux内核由芬兰赫尔辛基大学的Linus Torvalds创建 GPL和LGPL协议 Lesser General Public License宽通用公共许可证 Red Hat Linux企业版简称 RHEL(Red Hat Enterprise Linux) 目前较新版本为 7.x 系列 Centos企业版 目前较新的稳定版本为: Centos 7 Fedora Core社区版 目前较新的稳定版本为:fedora 29 交互接口 多用户字符界面(命令行界面) TTY2~TTY6   快捷键: 【Ctrl】+【Alt】+【F2】~【F6】 图形化界面(GNOME) TTY1 快捷键: 【Alt】+【F1】 目录结构 文件管理 绝对路径 相对路径 绝对路径:指以根目录“/”为起点来表示系统中某个文件(或目录)位置的方式。 相对路径:指以当前目录为起点表示系统中某个文件(或目录)位置的方式。 /boot/grub2 (1)直接使用目录名或文件名 (2)使用一个点号“.”开头 (3)使用两个点号“..”开头 (4)使用“~/用户名”的形式开头 文件位置 文件类型 普通文件 - 目录文件 d 链接文件 l 特殊文件 c b Linux的文件类型主要可分为: 普通文件:用于存放数据、程序等信息的文件。 目录文件:由文件系统中一个目录所包含的目录项组成的文件。 链接文件:又称符号链接文件,用于不同目录下文件的共享。 设备文件:用于与I/O设备提供连接的一种文件,分为 块设备文件:表示磁盘、光盘等。 字符设备文件:如键盘、字符进行操作的终端等。 Linux文件没有隐藏属性,文件或目录若要实现隐藏,则只需要在命令时以“.”开头即可。 对于隐藏文件或目录,必须使用带“-a”参数的ls命令才能查看到。 操作命令 查看当前的工作目录(Print Working Directory) 命令格式:pwd 切换工作目录(Change Directory) 命令格式:cd 【路径】 列出显示目录内容(list) 命令格式:ls 【选项】 目录名 创建目录(Make Directory) 命令格式:mkdir 【-p】 [/路径/]目录名 -p:可以快速创建出目录结构中指定的每个目录,对于已经存在的目录不会被覆盖。 统计目录及文件的空间占用情况(du) 功能:查看某个目录中的各级子目录所占用的磁盘空间数。 命令格式:du 【选项】 目录名 新建空文件(touch) 命令格式:touch 【选项】 [/路径/]文件名 若指定的文件已存在,则将文件的日期修改为当前系统的日期。 若指定的文件不存在,则以指定的文件名创建空文件。 复制文件或目录(copy) 命令格式:cp 【选项】 源文件 目标文件 移动文件或目录(move) 命令格式:mv 【选项】 源目录或文件名 目标目录或文件名 移动文件或目录:若源路径与目标路径不同,则为移动目录或文件。 重命名文件或目录:若路径相同,仅文件名或目录不相同,则为重命名文件或目录。 删除文件或目录(remove) 命令格式:rm 【选项】文件或目录名及路径 功能:删除文件或目录,可包含一个或多个文件名(各文件名间使用空格分隔)。 为文件或目录建立链接(link) 命令格式:ln 【选项】 被链接的源文件或目录 链接文件或目标目录 链接可分为硬链接和软链接。 硬链接只能作用于文件,但软链接能够作用于文件和目录。 对任何一方内容的修改都会影响到另外一方。 查找文件或目录(find) 命令格式:find 【搜索的目录】【查找条件表达式】 查看文件文件的内容(cat) 命令格式:cat 【选项】 文件名 范例: 在/etc/目录下查找文件名以“.conf”结尾的文件: [root@localhost ~]# find /etc -name "*.conf" 在计算机上查找由root用户和mail组拥有的文件: [root@localhost ~]# find / -user root -group mail 在/boot目录中查找大小大于2MB且文件名以“vm”开头的文件: [root@localhost ~]# find /boot -size +2M -a -name "vm*" 分页查看文件内容(more和less) 命令格式:more | less 【选项】 文件名 交互操作方法: 按Enter键向下逐行滚动 按空格键向下翻一屏、按b键向上翻一屏 文件末尾时more会自动退出,less需要按下q键退出 查看文件开头和末尾部分内容(head和tail) 命令格式:head | tail 【选项】 文件名 常用选项:-n——指定需要显示的行数(默认为10行)。 检索、过滤文件内容(grep) 命令格式: grep [选项] 要查找的字符串或条件表达式 被查找的文件名 常用选项:-i——查找时忽略大小写 -v——反向查找,输出与查找条件不相符的行 在grep命令中,可以直接指定关键字串作为查找条件,也可以使用复杂的条件表达式,例如:字符“^”表示 行的开始;字符“$”表示行的结尾;如果查找的字符串中带有空格,可以用单引号或双引号括起来。又如: "^read"表示以read开始;"read$"表示以read结束;"^$"表示空行。 tar——是一种标准的文件归档格式 利用tar命令可将要备份的一组文件和目录打包成一个文件,以便于保存和网络传输。 tar命令内置了相应的参数选项,以实现对tar文件的压缩或解压。 命令格式:tar 【选项】 归档文件名 被归档的源文件或目录列表 tar 【选项】 归档文件名 [-C 目标文件夹] 创建归档文件: 命令格式:tar cvf 归档文件名 被归档的源文件或目录列表 创建压缩的归档文件: 命令格式:tar c[ z | j | J ]vf 压缩包文件名 被压缩的源文件或目录 提取压缩包中的文件到指定目录: 命令格式:tar x[ z | j | J ]vf 压缩包文件名 [-C 目标目录] 提示:在提取压缩过的包文件时,可以省略在创建压缩包文件时使用的同一压缩选项,因为tar命令可以自 动判断使用的压缩方式。 管道操作符(“|”) 管道是由符号“|”隔开的若干条命令组成的序列。 管道符“|”的作用:将前一个命令的输出通过一个无形的“管道”作为下一个命令的输入,即实现将前一 个命令的输出的数据结果作为后一条命令所需要的数据源参数。 范例: 查看/etc/passwd文件的第11行到第15行? [root@localhost ~]# head -n 15 /etc/passwd | tail -n 5 echo命令:在显示器上显示一段文字,一般起到一个提示的作用。 命令格式:echo 字符串 输出重定向: “>”: 输出到指定的文件中,会覆盖原文件中的内容 “>>”: 输出到指定的文件中,会追加到原文件内容尾部 系统类操作 修改主机名:hostnamectl set-hostname 主机名 查看内核版本:uname -r 查看CPU信息:cat /proc/cpuinfo 查看内存信息:cat /proc/meminfo 重启主机:reboot 关机:shutdown –h now | poweroff 用户管理 用户与组的管理 Linux操作系统是一个多用户的操作系统,它允许多个用户同时登陆到系统上使用系统资源。 Linux下的用户可以分为三类: 超级用户——用户名为root,它具有一切权限,只有进行系统维护或其他必要情形下才用超级用户登录, 以避免系统出现安全问题。 系统用户(伪用户)——是Linux系统正常工作所必需的内建的用户。 普通用户——是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。 Linux中的组有以下三种: 基本组(私有组):建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是 基本组,基本组只容纳一个用户。当把其他用户加入到该组中,则基本组就变成了附加组。 附加组(公有组):可以容纳多个用户,组中的用户都具有组所拥有的权利。 系统组:一般加入一些系统用户。   每个用户都有一个UID数值: 超级用户的UID——0 系统用户的UID——1~999 普通用户的UID——≥1000 在Linux中,用户账号、密码、用户组信息和用户组密码均是存放在不同的配置文件中的。 用户和组的配置文件 用户账号文件——/etc/passwd passwd 是一个文本文件,用于定义系统的用户账号,而不保存口令。   passwd文件介绍: 每一行定义一个用户账户 每一行均由7个字段组成,字段之间用“:”分隔 用户账户名称:密码:UID:GID:描述信息:家目录:Shell 范例: [root@rhel7-01 ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin /etc/passwd文件中每行的字段说明: 用户账号名称:用户登录Linux系统时使用的名称。 密码:以前是以加密格式保存密码的位置,现在密码保存在/etc/shadow文件中,此处只是密码占位符“x” 。若为“x”,说明密码经过了shadow的保护 UID:用户的标识,是一个数值,用它来区分不同的用户 GID:用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的GID。 描述信息:可以记录用户的完整姓名、地址、办公室电话、家庭电话等个人信息。 家目录:类似Windows 的个人目录,通常是/home/username,这里username是用户名,用户执行“cd ~”命令时当前目录会切换到个人家目录。 Shell:定义用户登录后激活的Shell,默认是Bash Shell 用户密码文件——/etc/shadow shadow文件用户保存用户的密码信息及其他相关信息。 shadow文件介绍 每一行定义一个用户账户的密码信息,行中每个字段以“:”分隔 账户名称:加密口令:最后一次密码更改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间: 失效时间:保留未使用 为提高安全性,用户真实的密码采用HASH算法加密后,保存在配置文件中 只有root用户有权限读取 范例: [root@rhel7-01 ~]# cat /etc/shadow root:$6$yNppMMdSGSoYeWFC $vxi3kt7sKwltx8srUqnoFJUpeXsLeoPwvo1KiNPUsZExIFVulX9KY06nyj70XAtp1RIcBzubnadQG.yU/ R4cz0::0:99999:7::: 用户组账户文件——/etc/group 系统中的每个组,在/etc/group文件中有一行记录 任何用户均可以读取用户组账户信息配置文件。 用户组的真实密码保存在/etc/gshadow配置文件中。 每一行定义一个组账户的相关信息 组账户名称:密码:GID:用户名A,用户名B 范例: [root@rhel7-01 ~]# cat /etc/group root:x:0: 用户管理命令 添加新用户——useradd 命令格式:useradd 【选项】 <username> 为用户账户设置密码——passwd 命令格式:passwd 【账户名】 linux的账户必须设置密码后,才能登录系统。 修改用户属性——usermod 命令格式:usermod 【选项】 username 常用的选项包括-c,-d,-m,-g,-G,-s,-u以及-o等,这些选项的意 义与useradd命令中的选项一样,可以为用户指定新的资源值。 删除用户账户——userdel 命令格式:userdel 【-r】 username 在删除用户账户的同时,一并删除该用户的家目录。 用户间切换——su 命令格式:su 【-】 username 【-】表示切换至目标用户的家目录。 从root用户切换到任何用户不需要密码验证,而从普通用户到root或其他普通用户均需要输入目标用户的 密码且验证成功后才可切换。 创建用户组——groupadd 命令格式:groupadd 【-r】 组名称 -g GID 指定新用户组的组标识(GID),默认值是已有的最大GID加1 -r 建立一个系统组账户,与-g不同时使用时,分配一个1~999的GID。 范例:向系统中添加一个组ID为1020,组名为group1的组。 groupadd -g 1020 group1 添加/删除组成员——gpasswd 命令格式:gpasswd 【选项】 用户名 组名 只有root用户和组管理员才有权限 范例:向group1组中添加用户rose和bob,并将rose设置为改 组的管理员。 [root@rhel7-01 ~]# gpasswd –M rose,bob group1 [root@rhel7-01 ~]# gpasswd –A rose group1 修改用户组属性——groupmod 命令格式:groupmod 【选项】 用户名 -g GID 为用户组指定新的组标识(GID) -n 新用户组名 修改用户组的组名 范例:将组group1的GID修改为1030,且组名修改为group2。 groupmod -g 1030 -n group2 group1 删除组账户——groupdel 命令格式:groupdel 用户组名 被删除的组若是基本组,则必须先删除引用该基本组的用户,然后再删除该基本组。 范例:删除用户组group2。 [root@rhel7-01 ~]# groupdel group2 用户账户和组的信息显示 范例: [root@rhel7-01 ~]# users root root [root@rhel7-01 ~]# id uid=0(root) gid=0(root) 组=0(root) 环境 =unconfined_u:unconfined_r:unconfined_t:s0- s0:c0.c1023 [root@rhel7-01 ~]# groups admin admin : wheel root adm 使用脚本批量创建用户 [root@rhel7-01 ~]# vim useradd.sh #!/bin/bash for id in $(seq 1 10) do useradd user$id echo "redhat" | passwd --stdin user$id done 权限管理 权限表示方式 文件和目录的一般权限 第1个字符:表示该文件的类型,其类型标识符和对应的文件类型。 第2~4个字符:表示该文件的属主用户(文件的所有者)对该文件的访问权限。 第5~7个字符:表示该文件的属组用户(文件的所属组)对该文件的访问权限。 第8~10个字符:表示其他所有用户对该文件的访问权限。 第11个字符:用来表示是否有一个可替换的访问控制措施应用在该文件上。当为一个空格时,表示系统没有 可替换的访问控制措施;当为“.”字符时,代表该文件使用了SElinux安全上下文,且未使用其他的访问控 制措施;当为“+”字符时,表示该文件在使用SElinux安全上下文的同时,还混用了其他访问控制措施(如: 访问控制列表ACL)。 文件或目录权限的表示方式: 3为八进制数表示 字符串表示 两种表示对应关系 权限管理命令 修改文件或目录的权限——chmod 命令格式1:chmod 【选项】 NNN 文件或目录 命令格式2:chmod 【选项】[ u g o a ] [ + - = ] [r w x] 文件或目录 常用选项:-R——递归修改指定目录下所有文件、子目录的权限。 ugoa——表示权限设置所针对的用户类别,可以是其中字母中的一个或组合,u(user)表示文件或目录的属 主(所有者);g(group)表示属组内的用户;o(others)表示其他任何用户;a(all)表示所有用户(即u+g +o)。 +|-|= ——表示设置权限的操作动作,+代表添加某个权限;-代表取消某个权限;=表示只赋予给定的权 限,并取消原有的权限。 rwx——用字符形式表示的所设置的权限,可以是其中字母中的一个或组合。 NNN——用三位八进制数字表示的所设置的权限。 范例:文件/root/file1目前的权限时rw-r--r--,若要更改为rw-rw-r--,其命令为: chmod 664 /root/file1 修改文件或目录的属主和属组——chown 命令格式:chown 【选项】 新属主[:[新属组]] 需要被改变归属的文件或目录 -R——可递归设置指定目录下的全部文件(包含子目录和子目录中的文件)的所属关系。 “需要被改变归属的文件或目录”若为多个时,可以使用空格进行分割。 范例:将/root/file1文件的属主修改为user1,属组修改为user2。 chown user1:user2 file1 umask 在Linux系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的权限,该默认 权限并不是继承了上级目录的权限,而是与umask值(称为权限掩码)有关,其具体关系是: 新建文件的默认权限=0666-umask值 新建目录的默认权限=0777-umask值 root用户创建的目录默认权限为755;文件默认权限为644。 普通用户创建的目录默认权限为775;文件默认权限为664。 VIM编辑器 工作模式 命令模式(Command mode)供用户执行命令,以对文档进行管理。不管用户当前处于何种模式,只要按 ESC键,则立即进入命令模式。 插入模式(Insert mode)可输入内容。 末行模式(Last line mode)让用户做一些与输入文字无关的事,如搜索替换字符、保存文件或结束编辑 等。 命令模式下操作 末行模式下操作 IP地址设置 目标文件为: /etc/sysconfig/network-scripts 重新启动服务命令 systemctl restart network.service 配置参考 ROOT密码破解 启动界面按e进入安全模式 如图位置添加rd.break 按ctrl+x进入命令行,依次输入如下命令 mount -o remount,rw /sysroot passwd root 此段为设置修改后的密码 touch /.autorelabel exit exit YUM仓库 YUM(Yellow dog Updater Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的 软件包管理 器。它不是软件包,而是用来解决RPM依赖性问题的一种解决方式。基于RPM 软件包管理,Yum能够从指定 的服务器自动下载RPM软件包并且安装,可以自动处理依赖性关系, 并且一次安装所有依赖的软件包,无 需繁琐地一次次下载、安装。 kernel-3.10.0-514.el7.x86_64.rpm 软件名-软件版本-发布次数.操作系统类型.硬件架构类型.rpm YUM仓库配置目录:/etc/yum.repos.d/ 注意:YUM仓库配置文件必须要以“.repo”结尾。 YUM仓库配置解析 [base] #yum仓库的标识 name=redhat #原件仓库的主机名称 baseurl=file:///mnt #指向软件仓库中repodata目录所在的路径 enabled=1 #配置是否启用该yum仓库 gpgcheck=0 #指定是否检查 rpm 软件包中的数字签名 路径查询及具体写法 Yum路径的查询命令:which yum 所有repository 服务器设置都应该遵循如下格式: [serverid] name=Some name for this server baseurl=url://path/to/repository/ serverid 是用于区别各个不同的repository,必须有一个独一无二的名称; name 是对repository 的描述,支持像$releasever $basearch这样的变量; baseurl 是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是: baseurl=url://server1/path/to/repository/      url://server2/path/to/repository/      url://server3/path/to/repository/ 其中url 支持的协议有 http:// ftp:// file:// 三种。baseurl 后可以跟多个url,你可以自己改为 速度比较快的镜像站,但baseurl 只能有一个 国内YUM源列表 1. 企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/ 网易开源镜像站:http://mirrors.163.com/ 阿里源:http://mirrors.aliyun.com 2. 大学教学: 北京理工大学: http://mirror.bit.edu.cn (IPv4 only) http://mirror.bit6.edu.cn (IPv6 only) 北京交通大学: http://mirror.bjtu.edu.cn (IPv4 only) http://mirror6.bjtu.edu.cn (IPv6 only) http://debian.bjtu.edu.cn (IPv4+IPv6) 兰州大学:http://mirror.lzu.edu.cn/ 厦门大学:http://mirrors.xmu.edu.cn/ 清华大学: http://mirrors.tuna.tsinghua.edu.cn/ (IPv4+IPv6) http://mirrors.6.tuna.tsinghua.edu.cn/ (IPv6 only) http://mirrors.4.tuna.tsinghua.edu.cn/ (IPv4 only) 天津大学:http://mirror.tju.edu.cn/ 中国科学技术大学: http://mirrors.ustc.edu.cn/ (IPv4+IPv6) http://mirrors4.ustc.edu.cn/ http://mirrors6.ustc.edu.cn/ 东北大学: http://mirror.neu.edu.cn/ (IPv4 only) http://mirror.neu6.edu.cn/ (IPv6 only) 电子科技大学:http://ubuntu.uestc.edu.cn/ Apache服务器部署 部署前准备 关闭防火墙设置 设置SELinux模式为Permissive 预先设置好YUM仓库 systemctl stop firewalld.service systemctl disable firewalld.service vim /etc/selinux/config Apache安装 yum -y install httpd Apache的根目录 /var/www/html 管理Apache服务 启动 systemctl start httpd 开机启用 systemctl enable httpd 查看运行状态 systemctl status httpd 修改Apache默认文件夹及默认首页 直接修改Apache服务器的配置文件./conf/httpd.conf 范例: DocumentRoot "/usr/local/apache/htdocs/web" <Directory "/usr/local/apache/htdocs/web"> <IfModule dir_module> DirectoryIndex index.php index.php3 index.html index.htm </IfModule> DNS服务器部署 部署前准备工作同Apache 安装bind软件包 yum -y install bind 编辑主配置文件 图中linsten-on port为侦听端口及需要侦听的IP,此处设为DNS服务器地址,allow-query为允许队 列,此处及设置可以享受该DNS服务器服务的主机范围,可指定网段,也可设置为any 特别说明:设置IP时,前后有一个空格,且结尾带分号。 编辑区域定义配置文件 文件位置:/etc/named.rfc1912.zones 注意空格,大小写,正向区域名称(一般为解析 的后半段)文件名称定义中正向区域文件名需与 后面的正向区域配置文件名称对应;反向区域命 名按照IP前三个字节逆序,且结尾为in addr.apra,名称同样需要与后续的反向区域文件 名称对应 编辑区域数据库文件 文件位置:位于/var/named目录下 正向记录添加 前缀 IN A IP地址 反向记录添加 IP最后一个字节 IN PTR 对 应域名 注意事项:记录部分顶格写,不要有空 格,服务器名称部分需写完整 参考配置示例: 提权及测试命令 设置区域数据库文件的权限和属组:chmod chgrp 检查配置文件语法正确性:named-checkzone named-checkconf 管理Bind服务: 启动Bind服务:systemctl start named.service 启用Bind服务:systemctl enable named.service 查看Bind服务运行状态:systemctl status named.service named-checkzone范例: named-checkzone cj.com.zone /var/named/cj.com.zone PHP部署 预先配置环境如Apache 安装软件包:yum –y install php 在Document目录下创建index.php文件 重启Apache服务: 重新启动Apache服务:systemctl restart httpd.service 测试PHP是否成功 部署MariaDB数据库 MariaDB是关系型数据库,是一个数据库管理系统(DBMS)。 预先配置环境如Apache 安装软件包:yum –y install mariadb-server 管理mariadb服务: 启动mariadb服务:systemctl start mariadb.service 启用mariadb服务:systemctl enable mariadb.service 查看mariadb服务运行状态:systemctl status mariadb.service 使用数据库管理员root登录数据库管理系统: mysql –uroot –h127.0.0.1 –p 输入密码:(默认为空) 创建数据库discuz:create database discuz; 此处的数据库名称按需求配置 授权测试用户testuser能够从192.168.10.0/24网络内的主机远程访问discuz数据中的所有表,测试用户 testuser的密码为testpassword: grant all privileges on discuz.* to ‘testuser’@‘192.168.10.%’identified by ‘testpassword’; 数据库名称,允许登录IP段,用户名,密码设置 刷新权限列表:flush privileges; 重启mariadb服务: 重新启动mariadb数据库服务:systemctl restart mariadb.service php连接MariaDB数据库,需要安装连接数据库驱动程序——php-mysql 安装软件包:yum –y install php-mysql 测试连接数据库方法 在html目录下编写一个测试用PHP文件 部署第三方应用 下载压缩包至/root目录:Discuz_X3.4_GIT_SC_UTF8.zip,可以使用sftp进行传输 解压压缩包:unzip Discuz_X3.4_GIT_SC_UTF8.zip 在DocumentRoot目录下创建bbs目录:mkdir /var/www/html/bbs 将/root/dir_SC_UTF8/upload目录下的所有文件移动到/var/www/html/bbs目录下: mv /root/dir_SC_UTF8/upload/* /var/www/html/bbs 设置Apache服务账户对/var/www/html/bbs目录及其目录内文件的权限: setfacl –R –m u:apache:rwx /var/www/html/bbs

标签:文件,用户,命令,Linux,格式,root,目录,大全
来源: https://blog.csdn.net/qq_56627079/article/details/117440129

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有