常用的Linux命令

目录管理
  • 绝对路径:绝对路径的路径全称是:
  • C:\ProgramData\360safe\xxx.xx。比如说360safe目录下,那这个xxx.xx文件,对应我们的相对配置/xxx.xx
  • cd :切换目录
  • 返回上一级目录 : cd …(…表示上一级)
  • ./ :当前目录
  • pwd :显示当前用户所在的目录
  • cp: 复制文件 格式:cp 需要复制的文件名称 复制到的目的文件夹。
  • rm :移除文件或者目录
  • -f 忽略不存在的文件,不会出现警告,强制删除
  • -r 递归删除目录!
  • -i 互动,删除询问是否删除
  • rm -rf / :系统中的所有文件就被删除了
  • rm -rf install.sh
  • rmdir : remove dir 删除一个目录
  • 不能删除非空文件夹,如果要删除非空文件夹,需要加上-p参数,删除层级目录:如:rmdir -p test1/test2/test3/test4
  • 仅能删除空的目录,如果下面存在文件,需要线删除文件
  • mkdir :创建一个目录
  • 递归创建一个层级目录:mkdir -p test1/test2/test3/test4
  • ls : 列出目录
  • -a参数: all ,查看全部的我呢见,包括隐藏文件
  • -l 参数: 列出所有的文件,包含文件的属性和权限,没有隐藏文件。
  • 所有Linux可以组合使用。
  • -al 参数:查看所有文件包括隐藏文件,并且列出文件的属性和权限。
  • shutdown 关机
  • shutdown -h now 立刻关机
  • shutdown -h 10 10分钟之后关机
  • reboot 重启
  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示文件内容
  • nl 显示的时候,输出行号
  • less(上下键代表翻动页面) 和 more(空格翻页,enter下一行) 用于一页一页的显示文件内容
  • 退出 q
  • /要查询的字符 查询字符串,向下查询
  • ? 要查询的字符串 查询字符串,向上查询
  • head 只看开头几行,如:head -n 20 test.txt
  • tail 只看最后的几行,-n参数代表要查看的行数

防火墙常用命令

查询端口80是否开启

firewall-cmd --query-port=80/tcp

永久开放80端口

firewall-cmd --permanent --zone=public --add-port=80/tcp

移除80端口( 端口/通讯协议 )

firewall-cmd --permanent --zone=public --remove-port=80/tcp

查看防火墙状态

systemctl status firewalld.service

启动、关闭、重启防火墙

systemctl [start|stop|restart] firewalld.service

查看已开放端口

firewall-cmd --list-ports

进程线程类命令

查看系统中所有进程

ps -aux | grep java 
# -a 选择所有进程
# -u 显示所有用户的所有进程
# -x 显示没有终端的进程

查看子父进程之间的关系

ps -ef | grep java

终止进程

kill 进程id号
# 查看进程网络信息
netstat -anp | grep 进程号

# 查看网络端口号是否被占用
netstat -nlp | grep 端口号

# -n 拒绝显示别名 ,能显示数字的全部转化为数字
# -l 仅列出有在listen监听的服务状态
# -p 表示显示哪个进程在调用

软件安装类常用命令

rpm安装

# rpm安装
rpm -ivh rpm文件包名称

# -i(install) 安装
# -v(verbose) 显示详细安装信息
# -h(hash) 显示进度
# --nodeps 不检测依赖性

rpm卸载

rpm -e 包名
# -e(erase) 卸载
# --nodeps 不检测依赖性

rpm查询

# 查询是否安装
rpm -q 包名
# -q(query) 查询


# 查询所有已安装的rpm包
rpm -qa
# -a(all)


# 查询软件包的详细信息
-rpm -qi 包名
# -i(information) 查询软件信息



# 查询包中软件安装位置
rpm -ql 包名
# -l(list) 列表

tar压缩命令

# 压缩命令
# 将document文件夹下面的文件压缩
tar -acvf test.tar.gz document/

# 解压
tar -axvf javaxxx.tar.gz

Vim编辑器

vim通过一些插件可以实现和IDE一样的功能!
Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。尤其是Linux中,必须要会使用Vim (查看内容,编辑内容,保存内容
简单的来说, vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方
vim则可以说是程序开发者的一项很好用的工具。
所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在。
连vim的官方网站(http://wwwwimor)自己也说vim是一个程序开发工具而不是文字处理软件。
vim键盘图:

三种使用模式

基本上vim共分为三种模式,分别是命令模式,输入模式和底线模式,这三种模式的作用分别是:

  • 命令模式
    用户刚刚启动vim,便进入了命令模式。
    此状态下敲击磁盘动作会被vim识别为命令,而非输入字符,比如我们此时按下i,并不会输入一个字符,i被当作一个命令
    以下是常用的几个命令:
  • i 切换到输入模式,以输入字符
  • x 删除当前光标所在处的字符
  • :切换到底线命令模式,以在最底一行输入命令(如果是编辑模式,需要先推出编辑模式回到命令模式)

若想要编辑文本:启动vim,进入了命令模式,按下i,切换到输入模式

命令模式只有一些最基本的命令,因此仍然要依靠底线命令模式输入更多命令。

  • 输入模式
    在命令模式下按下i就进入输入模式。
    在输入模式中,可以使用以下按键:
  • 字符按键以及Shift组合,输入字符
  • enter,回车键,换行
  • back space :退格键,删除光标前的一个字符
  • del :删除键,删除光标后一个字符、
  • home/end :移动光标到行首/行尾
  • 上下翻页
  • insert :切换光标为输入/替换模式,光标将编程竖线/下划线
  • esc:退出输入模式,切换到命令模式
  • 底线命令模式
    底线命令模式可以输入单个或多个字符的命令,可用的命令非常多,
    在底线命令模式下,基本的命令有:
  • q退出程序
  • w保存文件
  • wq保存并退出
  • set nu 设置行号,代码中经常使用
  • u 复原前一个动作
  • [ctrl]+r 重做上一个动作
    按esc键可随时退出底线命令模式
    简单的说,我们可以将这三个模式想成底下的图标来表示

账号管理

一般在公司中,用的都不是root账户

简介

实现用户账户的管理,要完成的工作主要有如下几个方面:

  • 用户账户的添加、删除与修改。
  • 用户口令的管理。
  • 用户组的管理。

用户账户的管理

用户账户的添加、修改和删除

添加用户账户就是在系统中创建一个新账号,然后为新账号分配用户名、用户组、主目录和登录Shell等资源

属主:文件是谁的

属组:当前是哪个组的

  • useradd 命令,添加用户
    useradd -选项 用户名
  • -m:自动创建这个用户的主目录:/home/qinjiang
  • -c comment指定一段注释性描述.
  • -d目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g用户组指定用户所属的用户组.
  • G用户组,用户组指定用户所属的附加组。
  • -m使用者目录如不存在则自动建立.
  • -s Shell文件指定用户的登录Shell.
  • -u用户号指定用户的用户号,如果同时有-0选项,则可以重复使用其他用户的标识
  • 删除用户 userdel
    userdel -r qinjiang 删除用户的时候将他的目录页一并删除掉!
  • 修改用户
    usermod;格式:修改用户 usermod 对应修改的内容 修改那个用户

usermod -d /home/233 qinjiang,修改完之后查看配置文件即可

cat /etc/passwd

  • 切换用户
  • 切换用户的命令为: su username [username是你的用户名]
  • 从普通用户切换到root用户,还可以使用命令: sudo su
  • 在终端输入exit或logout或使用快捷方式ctritd ,可以退回到原来用户,其实ctrl+d也是执行的exit命令
  • 在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如: 【su-root】
  • ¥表示普通用户
  • 井号表示超级用户,也就是root用户

hostname lujinlan :修改主机名为:lujinlan

  • 用户的密码设置问题
    我们一般通过root创建用户的时候,要配置密码
    passwd qinjiang
    输入新的密码即可
    如果是普通用户:
passwd
(current) UNIX password:
new password: #密码不能太过于简单
re password:
  • 锁定账户
    root,比如张三辞职了,冻结这个账户,一旦冻结,这个人就登录不上系统了。
passwd -l qinjiang #锁定qinjiang用户,这个用户锁定之后无法登录了。
passwd -d qinjiang #没有密码也不能登录