大数据开发之前期准备----linux系统常用命令(2)

上一篇我们讲到查看文件内容,那么如果我们想将新的内容追加或者覆盖到原有的文件内容当中,除了vi这样的文件编辑工具以外还有什么办法呢?

11,覆盖与追加

> 覆盖   >>追加

如:现在存在两个log文件,分别为hadoop001.log和·hadoop002.log,如果我想将hadoop001.log的内容覆盖掉hadoop002.log的内容,我们可以使用命令 :# cat hadoop001.log  > hadoop002.log  如果是追加的话 :# cat hadoop001.log >> hadoop002.log。同时,你也可以将控制台上的内容追加到指定的文件当中去,如:# echo "hello world" >> test.log 。覆盖也一样的。

12,上面使用到了echo这个命令是将你想要的字符串打印到控制台当中。过程需要注意转义字符如:\! 表示!

13,别名alias

什么是别名呢?就是给一个命令起一个昵称,你小的时候总有一个花名吧,就像我叫豆豆。在生产开发的过程当中,有时候有些命令特别长但又经常用,难道要我每次都把他敲出来吗,所以linux提供了一个alias机制。

具体命令:alias 命令建成后=以字符串方式填写你的命令主体(如果是操作文件或者文件夹需要填写绝对路径),但这个方法是临时的,当你另启一个窗口或者重启机子就没了

我们可以看到,alias所定义的命令是临时命令,当我在另外一个窗口用相同的用户查看alias命令时是没有mH的。那么怎么才能永久的保存呢?我们将使用到环境变量

14,配置环境变量个

环境变量又分为全局和个人的,其中全局的环境变量在/etc/profile当中,当你希望你的所有用户都能使用这个路径或者命令时可以以全局方式配置环境变量,当配置完以后要输入命令:# source /etc/profile

当我们为某一位用户添加环境变量时,我们会在其家目录下的隐藏文件中添加,先让我们看下有那些隐藏文件吧

我们看到了.bash_profile和.bashrc这两个隐藏文件,他两就是用来配置环境变量的文件。如果按照严格意义来讲的话,这两个文件所配置的变量是有不同的。但一般我也懒得理他,所以我一般就陪在.bash_profile上就好了。

将你要的操作配置到环境变量当中去并source令生效就可以永久的保存你想保存的命令或者路径了。

在这里说一下,切换用户是使用 #su username 这个命令,如果想切换完用户并去到所切用户的家目录之下 # su - username,就是中间多了一个 - 。

16,删除文件

删除文件的命令一般是:# rm document,一般我们都会使用强制方式去删除,这就要添加参数 -f ,# rm -f document。

如果是删除文件夹的话,要使用递归模式,只需要添加参数 -r ,# rm -rf filename。

17,查看历史命令

有的时候我们想查看下最近的一千条命令都执行了些什么可以使用命令,# history

18,用户与用户组的操作

先让我们看下有哪些用户操作命令

使用命令# ll /usr/sbin/user*来查看用户操作命令,其实主要是add(添加),del(删除),mod(修改),这三个命令

在这里我使用了添加命令,# useradd rz 创建了一个名为rz的用户,这样系统就将在/home/目录下为ru创建一个同名的家目录。当你删除rz这个用户后,/home/ru这个目录将还在的,所以你在删除后在重新创建一个名为rz的用户时,会有warning提醒你,家目录已存在,不过就是个warning而已,你也可以不理的。

我们也可以查看下rz的一些信息,输入命令:# id rz

其中uid是rz编号,这个如果你不爽也是可以改的,但我一般没那么无聊。gid是他的主组,就是最主要的分组,而后groups是他的附属组,因为一个用户是可以同时存在于多个组内的,就像你老板的小姨子可以是他的秘书,也可以是他的前台嘛,但主要是秘书呀,有事秘书干,没事干秘书嘛。

用户组的操作和用户操作是一样的,也就是删除,创建,修改这三个操作嘛。

接下来我们更具体地看下与用户相关的操作,先键入命令 # cat /etc/passwd

在幅图中我们看到:

ruoze:x:501:501::/home/ruoze:/bin/false

rz:x:502:502::/home/rz:/bin/bash

这两行代表着什么呢 他们共同之处是,用户名:密码:用户编号:主组编号::家目录所在路径,但最后的/bin/false和/bin/bash不同,那这代表着什么呢?当最后是/bin/false或者/sbin/nologin时,这个用户是无法使用su username切换到这个用户的。而是/bin/bash时候,代表这这个用户的shell命令(与内核沟通的操作)所在的文件。

详细地请百度/etc/passwd这个文件的构成。

现在让我们再看看怎么把用户添加到用户组当中去,一般我所使用的命令是 # usermod -a -G groupsname username

现在我就把hadoop001添加到了root的用户组当中,那么hadoop001将拥有root用户组的权限功能了。忘了解释下usermod后面的参数了,-a意思为追加,-G groupname意识为指定的用户组,如果是-g groupname的话意味着把这个用户原来的主组干掉,把给用户添加到groupname当中,同时groupname变成他的主组。

19,命令查看,就是查看帮助文档

一般是 # 具体的命令 --help

在这里就可以看到详细的参数以及对它的解释了。

猜你喜欢

转载自blog.csdn.net/weixin_39702831/article/details/82555706