Linux基本命令

Posted 504 Gateway Time-out

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基本命令相关的知识,希望对你有一定的参考价值。

相比Windows系统而言,在一般的企业开发中,使用linux系统无疑是更加广泛的,因此掌握常见的linux基本命令于我们来说是必要的,本文就是对Linux基本命令的简单介绍。

  • ls

列出当前目录下,所包含的目录及文件;

还可以在ls后面加上下面的选项进行更加具体的查询:

-a 列出目录下的所有文件;

-d 像文件一样显示目录;
-l 列出文件的详细信息;

-t 以时间排序显示;
-R 列出所有子目录下的文件;
ls / 显示系统根目录下的所有内容;

ls 目录名 进入指定目录;

如果是初次使用,尚未自主创建任何文件的情况下,有些命令也是没有结果显示的,因此若是没有警告或报错信息即表示命令是正确执行了的;

关于显示结果的不同颜色的差别,深蓝色代表目录,浅蓝色代表快捷方式,绿色代表可执行文件,白色代表普通文件;

  • cd

切换工作目录,从当前目录切换到指定目录;
cd … 返回上级目录;
cd ~ 进入用户家目;
cd - 返回最近访问目录;

Linux中,home目录可以认为是所有用户的公共区,这里有所有用户的私人区域,而~就代表自己的区域;
但root是系统的管理员,在/root目录下,root可以进入任何用户的私人区域,但普通用户只能进入自己的私人区域;
cd 路径 可以到路径指定的目录下,这个路径可以是绝对路径,也可以是相对路径,以"/"开头,认为是绝对路径;

  • pwd

显示用户当前所在的目录,显示的是绝对路径;

  • touch

新建一个不存在的文件;

  • cat

查看文件的内容;


由于这里test.txt是一个空文件,自然也就没有结果显示;

  • echo

向文件写入内容;


要注意这里的“>”,如果没有这个,默认是书写内容到控制台,只有加上">",才可以写内容到指定文件;

  • mkdir

创建一个目录;

-p 一次创建出多个层级的目录;

  • rm

删除文件或目录;

删除操作在Linux上是不可逆的,谨慎使用;

可以使用" * "来表示任意字符;
使用 -f可以强制删除,不需要进行确认操作;

删除目录时需要使用 -r ,递归删除;

rm -rf / 表示强制删除整个根目录;
rm -rf /* 表示保留根目录而强制删除其他所有内容;

这样的操作会删除当前设备的所有文件,包括系统文件,是及其危险的,不要轻易使用;

上述操作都是对于目录和文件的外部操作,下面介绍对于文件内部的操作;

  • cp

复制文件或目录到指定位置;
包含2个参数,源文件(目录) 目的文件(目录)
相当于Windows的复制粘贴操作;

  • mv

移动文件,同时对目录文件进行重命名;
包含2个参数,第2个参数为文件时,在移动的同时重命名;第2个参数为目录时,将源文件移动到目的目录中;
相当于Windows的剪切粘贴操作;

相比之下,mv操作的整体速度更快,只是修改了文件的路径。而不涉及数据的搬运;cp操作则是对磁盘进行读写,涉及到大量数据的搬运,整体的速度会更慢;

下面进一步进行编辑文件内容,使用下面的命令:

  • vim
  1. vim 文件名

可以创建不存在的文件或打开已经存在的文件;
输入命令 vim bbb.txt,进入下面界面;

此时默认是普通模式,如果进行文本编辑需要进入插入模式;

  1. 进入插入模式

使用i键进入插入模式,插入模式与记事本无疑,但无法使用鼠标选中;


如上,左下角有INSERT表示当前为插入模式;

  1. 写入内容

  1. 保存
    保存操作需要在普通模式下进行

使用esc键回到普通模式;
在普通模式下输入:w,回车,即可保存文件

  1. 退出

退出操作同样在普通模式下进行;

输入:q,回车,退出;
输入:wq,回车,可以同时进行保存和退出的操作;

上述是编辑文件的基本操作,vim作为一个知名的文本编辑器,还有许多高效的用法,熟练使用Vim可以很大程度上提高代码编辑的效率,但这个过程也需要大量的练习,这里不做过多介绍~

下面是其他一些比较常见的Linux指令:

  • less

这个命令可以查看文件内容,但是是进入到普通模式下查看,不会加载内容到内容中;

  • grep

查找文件中是否包含指定字符串,显示对应的行;
包含2个参数,第一个参数表示要查找的字符串,第二个参数表示从哪个文件中去查找;

  • ps

查看当前系统上运行的进程;

ps aux 查看当前系统的所有进程;
可以与grep搭配来查看特定程序的进程;

| 是linux的管道标记,表示将前一个指令标准输出的内容,作为第二个指令的输入内容;

  • netstat

查看系统当前的网络状态;

由于Linux的命令数量繁多,一一记忆自然是不现实的,以上操作命令是日常学习开发中最常使用的命令,若是需要查询某个命令的含义,就可以使用下面的命令;

  • man


然后是关于Linux的权限:
Linux下有超级用户(root)和普通用户2种用户,超级用户的任何限制都不受限制,普通用户需要收到一些限制;

超级用户的命令提示符:" # “,普通用户的命令提示符:” $ "

下面介绍用户的相关操作:

  • 创建用户 useradd

创建一个新用户;
直接在命令后面空格,再输入用户名即可;

  • 配置密码 passwd

设置或修改用户密码;
passwd 用户名
该操作在输入密码时,控制台没有显示,但确实是输入了;

  • 切换用户 su

su 用户名 切换到普通用户;su root(root可以省略) 切换到超级用户;

最后来介绍一些关于Linux操作的小tips:

  1. 使用ctrl+l可以清屏;
  2. 删除文件时,对于确认删除的信息,输入y表示确认删除,输入其他值或ctrl+c表示取消删除;
  3. 在xshell的控制台,ctrl+insert进行复制,shift+insert进行粘贴;
  4. 使用上下方向键,可以得到之前输入过的命令;

over!

linux 详解useradd 命令基本用法

linux 详解useradd 命令基本用法

时间:2019-03-24
本文章向大家介绍linux 详解useradd 命令基本用法,主要包括linux 详解useradd 命令基本用法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

linux 详解useradd 命令基本用法

概要:

在 Linux 中 useradd 是个很基本的命令,但是使用起来却很不直观。以至于在 Ubuntu 中居然添加了一个 adduser 命令来简化添加用户的操作。本文主要描述笔者在学习使用 useradd 命令时的一些测试结果。

说明:本文中的所有试验都是在 Ubuntu14.04 上完成。

功能

在Linux中 useradd 命令用来创建或更新用户信息。

useradd 命令属于比较难用的命令 (low level utility for adding users),所以 Debian 系的发行版中建议管理员使用 adduser 命令。其实 adduser 命令只是一个调用了 useradd 命令的脚本文件。

本文将详细分析群组和家目录相关的选项。并且以实例的方式介绍常用的 useradd 命令写法。

语法和基本选项

注意:本文并不是一个完整的文档,所以仅列出部分常用的选项进行说明。

useradd [option] username

[option]:

-d<登入目录> 指定用户登入时的目录。

-g<群组> 初始群组。

-G<群组> 非初始群组。

-m 自动创建用户的家目录。

-M 不要创建用户的家目录。

-N 不要创建以用户名称为名的群组。

-s 指定用户登入后所使用的shell。

细说用户组

首先我们要搞清楚,什么是初始群组?简单来说在 /etc/passwd 文件中,每行的第四个字段指定的就是用户的初始群组。用户登录后立即就拥有了初始群组中的权限。

下面我们通过不同的命令来查看群组选项的用法:

$ sudo useradd tester1

没有使用任何群组相关的参数,默认在创建用户 tester1 的同时会创建一个同名的群组。用户 tester1 的初始群组就是这个新建的群组。

$ sudo useradd tester2 -N

这次我们使用了 -N 选项,即不要生成与用户同名的群组。查看下 /etc/passwd 文件,发现 tester2 用户的初始群组ID是100。这个100是哪来的?有ID为100的群组吗?其实100作为 -N 的默认值是写在配置文件中的。不管有没有ID为100的群组,都是这个值。当然我们也可以通过修改配置文件来改变这个默认值!

$ sudo useradd tester3 -g sudo

sudo 是一个非常有权势的群组,我决定把 tester3 加入到这个群组。好,现在去查看一下 /etc/passwd 和 /etc/group 文件,看看有没有新的群组被创建? tester3 的初始群组又是谁?这次没有创建与 tester3 同名的群组。用户 tester3 的初始群组变成了 sudo。

$ sudo useradd tester4 -G sudo

和上一条命令相比我们只是把小写的g替换成了大写的G。但结果可相差太多了,请您一定要好好的检查 /etc/passwd 和 /etc/group 文件。因为这次不仅创建了群组 tester4,它还是用户 tester4 的初始群组。和tester1 的唯一不同是 tester4 被加入了 sudo 群组。

在实际的使用中,tester3 和 tester4 的场景都是比较常见的,需要根据实际情况进行区分。

细说家目录

Useradd 命令对用户家目录的处理让人困惑,下面我们将通过实验来了解家目录相关的不同选项的使用方法:

$ sudo useradd tester1

让我们重新看看创建用户 tester1 这条命令。它不会为用户 tester1 创建名为 tester1 的目录作为家目录,但是我们打开 /etc/passwd 文件,发现 tester1 的记录中居然包含了家目录 /home/tester1。

tester1:x:1005:1005::/home/tester1:

这让人不可思议,但这条命令确实是这么实现的。

$ sudo useradd -m tester5

若要在创建用户的同时创建用户的家目录,必须指定 -m 选项。

$ sudo useradd -d /home/abc tester6

我们希望自己指定家目录,此时不生成目录 abc

$ sudo useradd -d /home/abcd -m tester7

此时生成目录 abcd,并且目录下默认存在文件

常见用例

Case 1: 创建一个带有家目录并且可以登录 bash 的用户

$ sudo useradd -m -s /bin/bash tester1

Case 2: 指定创建用户家目录的路径

$ sudo useradd -m -d /home/xxx tester2

/home/xxx目录会被创建。

Case 3: 创建一个没有家目录且不能登录的用户

$ sudo useradd -s /sbin/nologin tester3

Case 4: 创建时把用户加入不同的用户组

$ sudo useradd -m -G xxx,sudo tester4

注意过个组名使用逗号分隔,不能有空格。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上是关于Linux基本命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux - 常用 Linux 命令的基本使用

Centos7.5-Linux基本命令操作

常用 Linux 命令的基本使用

常用 Linux 命令的基本使用

linux基本操作命令的使用

1linux基本命令学习01