大家好,我是磊哥。
Linux 看这篇就够了
操作系统概述 Linux 操作系统安装 Linux 文件系统 Linux 命令操作 Linux 权限管理 用户和用户组 用户操作命令 权限操作 Linux 进程管理 Linux 其他常用命令大全 Linux 系统软件安装 常用软件安装 软件安装常用命令
操作系统概述
操作系统 Operating System 简称 OS,通俗讲就是一款软件,不过和一般的软件不同,操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他的软件都必须在操作系统的支持下才能运行。
Linux 文件系统
Linux 命令操作
1、 查看当前目录命令:pwd;
2、 打开文件夹命令:cd;
打开指定文件夹:cd [目录名称]
打开当前用户的根目录:cd ~
返回上级目录:cd …
返回进入目录:cd -
打开根目录:cd /
3、 浏览目录下的文件列表命令:ls;
以列的方式查看当前目录下的文件列表:ls -l
查看当前目录下所有的文件(包括隐藏文件):ls -a
以列表的方式查看当前目录下的所有文件:ls -la
4、 创建文件目录命令:mkdir;
新建文件目录:mkdir 文件夹名称
递归新建多级目录:mkdir -p 文件夹名称
例如在用户目录下新建 test 目录,命令这样写:
mkdir -p test/test1/test2/test3 递归新建多级目录的写法
5、 删除文件目录命令:rmkdir;
删除指定目录:rmkdir 目录名称
递归删除指定目录及中间目录:rmdir -p 目录名称 这里没有写错,没有字母 k
6、 删除文件或者目录命令:rm;
常用命令:rm -rf [目录或文件] rm -ri [目录或文件]
强制删除文件或目录:rm -rf 目录或者文件
在删除前询问是否确认删除:rm -ri 目录或文件
因为强制删除的后果不太好,一般不建议使用 rm -rf 进行文件删除
rm 命令中不跟 r 参数,无法删除目录,只能删除文件
1、 复制文件或目录命令:cp;
递归复制目录1下的所有的文件和文件夹到目录2:cp -r [目录1][目录2]
执行复制操作时覆盖原有目录前询问用户:cp -ri [目录1][目录2]
2、 移动文件、修改文件名命令:mv;
将文件夹1名称更改为文件夹2:mv 文件1 文件2 (给文件更名)
将目录1的文件移动到目录2:mv 目录2 目录2 (将目录1的文件移动到目录2)
3、 创建文件命令:touch;
touch 文件名称
4、 查看、编辑文件命令:vi;
vi 命令为 UNIX 操作系统或者类 UNIX 操作系统都有具有的功能强大的文件编辑命令,用户输入 vi ++ 文件名,便可以进入 vi 模式进行文件内容的查看和编辑,如果文件已经存在,则直接打开文件,如果文件不存在,则系统将打开一个全新的空文件。
vi 的三种模式如下:
命令模式
当用户使用 vi 命令打开文件后,则进入命令模式,用户可以输入命令来执行各种功能。
输入模式
如果用户要对文件做修改,则可以使用下面几种命令,进入输入模式,用户进入输入模式之后,可以任意修改文件,除了 Esc 键外,用户输入的任何字符都会被作为内容写入文件中,用户输入 Esc 可以对文件进行相关操作。
末行模式
如果用户完成编辑命令,则可以按照 esc + “:” 进入末行模式,用户可以对文件内容继续进行搜索,也可以输入 “:wq!” 进行文件保存并退出,或者输入 “:q!” 强制退出文件编辑。
1、 查看、编辑文件命令:cat;
显示一个小的文件的内容:cat 文件名称
创建并打开一个新的文件:cat > 文件名称2、 查看文件开头内容命令:head;
head [参数] [文件名]
例如,使用 head 命令显示某个文件开始的 n 行数据:head -n 文件名称
1、 查看文件结尾内容命令:tail;
动态加载某个文件的内容(常用于查看日志文件):tail -f 文件名称
展示文件最后几行的数据:tail -n 行数文件名称
Linux 权限管理
用户和用户组
当使用 -u 指定用户 id 时,用户 id 尽量大于500,以免冲突。因为 Linux 操作系统安装后,会默认建立一些用户,所以可能会占用 500 之内的 id 号。
1、 系统有一个权限最大的用户,其名称为root,root用户属于root用户组;
2、 系统默认只有root权限可以添加和删除用户;
3、 添加用户之后,如果没有给用户指定用户组,则系统会为用户添加一个同名的用户组,用户属于该组;
4、 root切换到普通用户无需登录,普通用户切换到root用户需要登陆;
5、 root可以给用户赋予和回收某一个文件的读、写、执行的权限;
用户操作命令
1、 切换用户命令:su;
su [用户名] 或者 su -[用户名]
su[用户名]和 su -[用户名]都可以切换用户,前者类似于临时切换用户,当使用该命令进行切换新用户时,用户配置仍然沿用原来的用户配置,如环境变量、系统变量等。而后者进行切换用户时,环境变量、系统设置全部切换成新用户的用户配置。我推荐一套,架构师视频 155G 太全了
2、 查看当前登陆用户命令:whoami;
3、 查看当前用户所属分组命令:groups;
4、 查看当前用户UID和GID命令:id;
5、 添加新用户命令:useradd;
在Linux 操作系统中添加用户:useradd 用户名
在Linux 操作系统中添加用户并指定用户 UID:useradd -u 指定的 UID 用户名
6、 修改用户密码命令:passwd;
例如:修改当前用户名为 sang 的用户密码:passwd sang
在添加用户之后,只有为其设置密码,用户才能登陆
1、 删除用户命令:userdel;
删除用户:userdel 用户名
删除用户并同时删除其登陆信息:userdel -r 用户名
1、 修改用户信息命令:usermod;
语法:usermod [选项] [参数] [用户名]
修改用户登录名:usermod -l 新用户名 旧用户名
修改用户所属分组:usermod -g 新组名称 用户名
语法:groupadd [选项] [组名称]
修改用户登陆名:groupadd 组名
修改用户所属分组:groupadd -g 组 GID 组名
取值 | 说明 |
---|---|
-g | 指定工作组的 id |
-r | 创建系统工作组 |
-o | 允许添加组 ID 不唯一的工作组 |
缺省 | 添加用户分组 |
权限操作
举列:drwxr -xr -x. 2 root root 4096 Sep 23 2011 bin
从左至右分别表示如下含义:
d:代表 bin 数目目录而不是文件 rwx:代表拥有者具有读、写、执行的权限 r -x:代表同组用户具有读、执行的权限,但是没有写权限 r -x:代表其他组用户具有读、执行权限,没有写权限
常用的变更权限命令为:chmod
语法:chmod [选项] [参数]
chmod 的参数可以分为两种,分别是权限模式和数字模式。
1、 权限模式:权限模式使用u、g、o分别代表拥有者、同组用户、其他组用户,使用+和一代表赋予和收回权限,使用r、w、x代表读、写、执行权限;
例如:将文件01的执行权限给当前用户,写权限赋给用户所在的用户组和其他用户。
chmod -r U+X,G+W F01
例如:将文件 f01 的读、写、执行的权限赋给当前用户,将读、写权限赋给用户所在的用户组和其他用户。
chmod -r u=rwx,g=rw,o=rw f01
2、 数字模式:为了简化授权步骤,用户也可以采用数字模式进行授权,使用二进制的形式代表r、w、x三种权限,如101(5)=r-x,111(7)=rwx,100(3)=r--;
例如:将文件 f01 的读、写、执行的权限赋给当前用户,将读和执行权限赋给用户组、将写和执行权限赋给其他用户。我推荐一套,架构师视频 155G 太全了
chmod 753 -r f01
例如:将文件 f01 的读、写、执行权限赋给所有用户。
chmod 777 -r f01
Linux 进程管理
在Linux 的应用中,我们需要对进程进行管理,如查看某个进程是否启动、以及在必要的时刻,杀掉某个线程。
1、 查看进程命令:ps;
ps 命令是 Linux 操作系统中查看进程的命令,通过 ps 命令我们可以查看 Linux 操作系统中正在运行的过程,并可以获得进程的 PID(进程的唯一标识),通过 PID 可以对进程进行相应的管理。
ps -ef | grep [进程关键字]
[shang@localhost ~]$ ps -ef|grep sshd
root 1829 1 0 May24 ? 00:00:00 /usr/sbin/sshd
shang 24166 24100 0 20:17 pts/2 00:00:00 grep sshd
[shang@localhost ~]$
1、 杀掉进程命令:kill;
当系统中有进程进入死循环,或者需要被关闭时,我们可以使用 kill 命令对其关闭。
kill -9 [PID] PID 为 Linux 操作系统中进程的标识
Linux 其他常用命令大全
1、 清屏命令:clear;
2、 查询命令详细参数命令:man;
3、 挂载命令:mnt;
4、 远程连接服务SSH相关命令:;
启动 SSH 服务命令:service sshd start 重启 SSH 服务命令:service sshd restart 关闭 SSH 服务命令:service sshd stop
5、Linux大多数情况下都是远程服务器,开发者通过远程工具连接Linux,启动了某个项目的JAR,一旦窗口关闭,JAR也就停止运行了,因此一般通过如下命令启动JAR:nohupjava-jarjar-0.0.1-SNAPSHOT.jar&;
这里多了 nohup ,表示当前窗口关闭时服务不挂起,继续在后台运行
Linux 系统软件安装
常用软件安装
Linux 下常用的软件安装方式有3种。
软件安装常用命令
1、 解压压缩命令:tar;
语法:tar [选项] [压缩包]
解压 gzip 包:tar -zxvf [包名]
解压 bz 包:tar -jxvf [包名]
解压普通包:tar -xvf [包名]
1、 安装卸载命令:rpm;
语法:rpm [选项] [软件包]
查询是否已经安装了某软件包:rpm -qa|grep [软件包关键词]
卸载已经安装的软件包:rpm -e 软件包全名
安装软件包并查看进度:rpm -ivh 软件包路径
近期技术热文
往期推荐
大佬,自爆了!!!
3个,腾讯开源 GitHub 项目,牛逼!
不好意思,UUID 该换了!
购买 Flowable 400集视频实战,送 Camunda 视频实战