Linux命令学习
一、linux系统环境
默认有6个命令交互通道和一个图形界面交互通道,默认进入到的是图形界面通道
命令交互模式切换:ctrl+alt+f1---f6
图形交互界面: ctrl+alt+f7
1.1、图形界面交互模式
- terminal: 图形界面的命令终端,它是图形界面交互通道的延伸,要依赖于图形界面
2.2、命令交互模式
命令提示符:
linux@ubuntu:~$
- chao:用户名
- CentOS 64位:主机名
- ~:路径 ,假如当前的路径正好是 该用户存放数据的根目录,则显示 ~
- $:用户的类型 $ 代表普通用户 # 代表超级用户
开启超级用户:sudo passwd root
3.3、linux文件系统
- 目录结构
- 文件权限分析
w :可写
r : 只读
x :可执行
- :无权限
- 文件权限
3.3.1、 字符表示法
drwxr-xr-x
第一个字符:文件的类型
d :普通文件
- :文件夹
c :串口文件
l :连接文件
2-4 字符: 该文件的属主用户的权限
5-7 字符: 与属主用户同一组的其他用户的权限
8-10 字符: 不同组的其他用户的权限
3.3.2、数字表示法
- rw- r-- r-- :文件的默认权限
110 100 100 : 644
d rwx r-x r-x :目录的默认权限
111 101 101 :755
二、linux常用的系统命令
2.1、注销/关机/重启
- 注销 logout
- 登出 exit
- 关机 shutdown -h 时间
-h 时间:
(1)now 马上关机
(2)12.30 指定具体时间12.30关机
(3)3 指定3分钟以后关机
- sudo(super do): 由超级用户来执行该命令
sudo shutdown -h now
-重启
reboot
reboot命令重启动系统时是删除所有的进程,而不是平稳地终止它们。因此,使用reboot命令可以快速地关闭系统。
但如果还有其它用 户在该系统上工作时,就会引起数据的丢失。所以使用reboot 命令的场合主要是在单用户模式。
shutdown -r now
shutdown 命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。
该命令还允许用户指 定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。
2.2、文件操作命令
2.2.1、ls 查看目录内容
- l 查看详细信息
- a 查看所有隐藏文件
man:manual: 手工,帮助 ,帮助命令
命令: man ls
2.2.2、mkdir 创建目录
mkdir testmulu
2.2.3、cd 切换目录
- cd .. 记得要加空格
- cd ./java 进入当前目录的子目录
- cd ../xxx 进入上一级目录的子目录
tab 自动补全
2.2.4、touch 创建一个空白的普通文件
touch test.txt
touch test1.txt test2.txt 同时创建两个文件
touch test{0001..2000} 批量创建2000个文件
2.2.5、echo 把内容重定向到指定的文件中,有则打开,无则创建
2.2.6、cat/more 查看文件内容
- cat :查看文件内容
- more :分页查看文件内容,按空格键换页
2.2.7、cp/mv/rm
- cp :复制 copy
cp bj.txt ./java/jee
- mv :move 剪切、重命名
1、剪切 :mv aa.txt ../java/
2、重命名 :假如剪切的文件 存放在同一个目录中 ,则是重命名
mv bb.txt cc.txt
- rm :删除文件或者文件夹 remove
-f : 假如要删除的文件不存在,也不提示
-i : 删除前提示 ,默认不删除,要删除,输入y
-d: 删除空白目录
-r : 递归删除
2.2.8、 wc(word count) 统计字符数
wc: 1.java
5 11 97 1.java (需要统计的文件)
- 5 :行数
- 11 :单词数
- 97 :字符数
2.2.9、ln 创建连接文件 link
- 默认创建的是硬连接,好比复制 ,但是两个文件会同步
命令:ln ./java/android/aa.txt aaa
- s :创建的是软连接
2.2.10、pwd 查看当前目录的绝对路径
2.2.11、管道命令 |
命令: ls -la | wc
2.2.12、重定向
- > :覆盖模式
命令: echo "ww">aaa
- >>:追加模式
命令: echo "ww">>aaa
2.2.13、passwd 设置密码
CentOS默认 root账号是没有开启 ,只要设置root密码即可开启
sudo passwd root
2.2.14、su 切换目录
su root
root用户切换到其他账号不需要密码
2.2.15、ps 查看后台进程
ps -ef 显示出系统中所有的进程,包括后台和前台进程
ps -def | grep 文件名
2.3、linux 系统命令
2.3.1、stat 查看文件的详细信息
stat bj.txt
2.3.2、who与whoami
who : 查看在线的用户
whoami :查看当前自己的用户
2.3.3、hostname 显示主机名
hostname
2.3.4、uname 显示系统信息
-a :显示完整的系统信息
2.3.5、top 显示当前耗时的进程的信息(并不是显示所有进程) ,每3秒刷新一次
cltr+c 中断
2.3.6、ps 显示当前进程的快照
-axu
2.3.7、du 显示文件的大小信息
2.3.8、df 磁盘使用情况 disk free
df -h
2.3.9、查看端口号 netstat
netstat -tunlp
2.3.10、杀死进程 kill
kill -9 PID
2.3.11、clear 清除屏幕 、windows: cls
2.3.12、man 帮助命令
man 命令
2.3.13、kill 杀死进程
kill pid
2.3.14、netstat 网络连接详细信息
2.3.15、useradd
- 查看用户信息
sudo cat /etc/passwd
linux:x:1000:1000:UbuntuA,,,:/home/linux:/bin/bash
- linux:用户名
- x :密码 :已经加密 ,密码存放在 /etc/shadow
- 1000: 账号id ,userId
- 1000: 组id ,group id
- UbuntuA,,, :账号描述
- /home/linux :该账号存放文件的默认位置 ~
- /bin/bash:该用户的shell脚本的解析方式 ,sh 、bash、rbash
- 创建用户
sudo useradd chao -d /home/chao -s /bin/bash
-d :指定该用户的home 路径
- s :该用户的shell解析方式
步骤:
1. 创建 /home/chao 目录
2. 执行 useradd 命令
3. 用 passwd 设置密码 sudo passwd lijun
4. su 切换用户
三、打包、压缩文件
windows : zip、rar
linux :gz ,bzip,zip
3.1、tar 打包、拆包命令
tar - cxzjvf <打包后的文件> <欲打包的目录>
- c :创建的一个归档文件 ,即打包文件夹
- x :拆包
- z :以gzip 格式压缩,默认压缩倍数 6倍 (0-9)
- j :以bzip2格式压缩
- v :显示打包或者拆包的文件信息
- f : 后面紧接一个 归档文件
- 打包文件
ar -cvf news.tar ./java 摘要
- 拆包文件
tar -xvf news.tar
3.2、gzip 、bzip2 压缩与解压
3.2.1、压缩文件
gzip news.tar
3.2.2、解压文件
gzip -d news.tar.gz
-d :解压
3.2.3、打包及压缩
- 打包及压缩
tar -czvf news.tar.gz ./java
- 拆包及解压缩
tar -xzvf news.tar.gz
四、安装软件
4.1、文件上传sz/rz
yum -y install lrzsz
4.2、JDK环境变量设置
vi /etc/profile
export JAVA_HOME=/home/jdk1.8/jdk1.8.0_161
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存关闭后,执行下边语句,让配置生效:
source /etc/profile
4.3、firewalld打开关闭防火墙与端口
4.3.1、firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
4.3.2、systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
4.3.3、配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
4.4、开启端口
添加 firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入 firewall-cmd --reload
查看 firewall-cmd --zone= public --query-port=80/tcp
删除 firewall-cmd --zone= public --remove-port=80/tcp --permanent