Linux服务端常用的两个版本。Ubuntu和CentOS
- 修改当前用户密码
passwd
- 添加用户
useradd 用户名 。接着使用passwd 用户名修改密码。
默认会把当前的用户加入一个以当前用户名命名的新的组。
cat /etc/passwd 可以看到所有用户的密码,从左到右依次为注册名,密码,用户id,用户组id,用户名,用户主目录,命令解释程序,密码一般用一个X表示。实际存放在/etc/shadow 文件中
- 关于文件
ll查看当前文件夹的时候,第一部分第一位描述的是这是文件夹还是文件,前三位代表当前用户的权限,分别是读写执行权限,
中间三位是所在组的其他用户的权限,后三位是其他用户的权限。第二个字段是硬链接数目,第三个字段是文件所属用户,第四个是文件所属组,chown修改当前文件所属用户,chgrp修改文件所属组
- 安装文件
可以直接通过网络下载到rpm(对于CentOs系列)或者deb文件(对于Ubuntu系列),然后rpm -i 文件名或者dpkg -i 文件名安装。
通过rpm -qa和dpkg -l查看本机安装的软件列表。-q是query a是all,-l是list。可以使用rpm -qa|more 翻页查看数据
删除文件使用的是rpm -e和dpkg -r,-e是erase,-r是remove。
也可以直接去类似于Windows的软件管家下载,CentOs下是Yum,Ubuntu是apt-get。
搜索文件使用yum/apt-get search 文件名,安装使用命令yum/apt-get install 文件名。这些数据的来源配置对于CentOS来讲存放在
/etc/yum.repos.d/CentOs-Base.repo里面,对于Ubuntu,存储在/etc/apt/sources.list中。
在Windows中,最终会变成C:\Program Files下面的一个文件夹以及注册表里面的配置。对于Linux里面会更分散一点。
例如,主执行文件会放在/usr/bin或者/usr/sbin下面,其他的库文件会放在/var下,配置文件会放在/etc下面。
- 环境变量
export命令可以设置环境变量,如:export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:Path。但是export命令仅在当前命令行的会话中管用。
所以在当前用户的默认工作目录下,例如/root或者/home/username下面,有一个.bashrc文件,这个文件是以.开头的,所以默认看不到。
所以使用ls -la才可以。这个文件在每次登录时都会自动执行,当然也可以使用source .bashrc手动执行。
- 文件编辑器vim
i进入编辑模式,esc退出编辑模式,然后输入:在加上w,意思是write。跟上q,意思是quit。如果编辑了,还没保存,但是不想要了,可以输入q!.
- 执行文件
Linux 不是根据后缀名来执行的。它的执行条件是这样的:只要文件有 x 执行权限,都能到文件所在的目录下,通过./filename运行这个程序。当然,如果放在 PATH 里设置的路径下面,就不用./ 了,直接输入文件名就可以运行了,Linux 会帮你找。
这是Linux 执行程序最常用的一种方式,通过 shell 在交互命令行里面运行。
这样执行的程序可能需要和用户进行交互,例如允许让用户输入,然后输出结果也打印到交互命
令行上。这种方式比较适合运行一些简单的命令,例如通过 date 获取当然时间。这种模式的缺
点是,一旦当然的交互命令行退出,程序就停止运行了。
- 执行文件的第二种方式,后台运行
使用nohup命令。这个命令的意思是 no hang up(不挂起),也就是说,当前交互命令行退出的时候,程序还要在。
当然这个时候,程序不能霸占交互命令行,而是应该在后台运行。最后加一个 &,就表示后台运行。
另外一个要处理的就是输出,原来什么都打印在交互命令行里,现在在后台运行了,输出到哪里呢?输出到文件是最好的。
最终命令的一般形式为nohup command >out.file 2>&1 &。这里面,“1”表示文件描述符
1,表示标准输出,“2”表示文件描述符 2,意思是标准错误输出,“2>&1”表示标准输出和
错误输出合并了。合并到哪里去呢?到 out.file 里。
- 执行文件的第三种方式,以服务方式运行
例如在 Ubuntu 中,我们可以通过 apt-get install mysql-server 的方式安装 MySQL,然后通
过命令systemctl start mysql启动 MySQL,通过systemctl enable mysql设置开机启动。之所
以成为服务并且能够开机启动,是因为在 /lib/systemd/system 目录下会创建一个 XXX.service
的配置文件,里面定义了如何启动、如何关闭。
在 CentOS 里有些特殊,MySQL 被 Oracle 收购后,因为担心授权问题,改为使用 MariaDB,
它是 MySQL 的一个分支。通过命令yum install mariadb-server mariadb进行安装,命令
systemctl start mariadb启动,命令systemctl enable mariadb设置开机启动。同理,会在
/usr/lib/systemd/system 目录下,创建一个 XXX.service 的配置文件,从而成为一个服务。
systemd 的机制十分复杂.
- 关闭程序
ps -ef |grep 关键字 |awk ‘{print $2}’|xargs kill -9
awk 工具可以很灵活地对文本进行处理,这里的 awk '{print $2}'是指第二列的内容,是运行的
程序 ID。我们可以通过 xargs 传递给 kill -9,也就是发给这个运行的程序一个信号,让它关闭。
如果你已经知道运行的程序 ID,可以直接使用 kill 关闭运行的程序。