Linux常识
什么是Linux?
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
创始人
林纳斯·托瓦兹
国内机房使用最多的发行版
CentOS (其他发行版按喜好自己了解,工作CentOS 必须要会)
Linux文件系统主要目录
/home:用户目录
/usr:软件存放目录
/tmp:临时文件夹
/var:流动数据文件夹
/var/log:日志文件夹
/var/www:web数据存放
/etc:配置文件(不能独立分区)
/boot:系统内核文件
/dev:硬件挂载点(不能独立分区)
/media:移动存储挂载点
系统分区
Linux硬盘分区表示法
/dev/sda:服务器中的第一块硬盘
/dev/sda1第一块硬盘的第一个主分区(1-4)
/dev/sda4第一块硬盘的扩展分区(创建第四块分区时系统会自动创建成扩展分区)
/dev/sda5逻辑分区
/dev/sdb第二块硬盘
/dev/vda:第一块虚拟硬盘(虚拟机)
(如何在系统中安装Linux系统,java程序员不需要精通,必要时百度即可)
系统常识
Root用户登录提示符为#
[root@centos7 ~]#
普通用户登录提示符为$
[tom@centos7 root]$
Root用户:特殊的管理账号也被称为超级用户
什么是shell:Shell是Linux的命令解释器,也是一种高级程序设计语言
Linux常用命令
man 帮助说明
例如:man ls 查看ls的详细说明
man -k 根据关键字搜索说明书位置
whatis 简单说明等价于man -f
help 帮助命令(用于查看命令的用法,可单独使用也可当命令参数使用)
例如:help ls 或 ls –help 查看ls的详细说明
/usr/share/doc目录:
所有帮助文档的存储目录
关机命令 poweroff、shutdown、init 0
shutdown -c 取消关机
重启 reboot、init 6
uname -r 查看内核
cat /etc/centos-release 查看发行版本
cat /proc/meminfo 内存大小
ls /dev/sda*
fdisk -l 查看磁盘详情
lsblk查看块设备
ifconfig 查看网卡信息
free 查看内存信息
fdisk 分区工具
clear 清屏
strace 查看system call
ltrace 查看library
gebit 文本编辑工具(图形界面可以用,字符界面不可用,鸡肋)
nano 文本编辑工具(通用)
Id -u 查看当前用户的UID
who 查看所有登录用户
whoami 查看当前用户名
who am i 查看当前用户完整信息
w 显示正在登录的所有用户的详细信息(包括在干什么)
init 3 切换到命令行模式
startx 开启图形工具
runlevel 查看上一次和当前所在的运行级别
echo 回显
echo {1..9}显示1到9(以ASCII编码的顺序显示)
exit 退出
ls 查看目录
cd 进入到某个目录下
cp 复制
` `反单引号字符串、命令和环境变量都认
‘’单引号字符串、命令和环境变量当成字符串识别
“”双引号介于两者之间
enable 列出所有内部命令(集成在shell中的)
touch 生成一个空文件
touch `
1 | date +%F-%T |
`.log 生成一个以今天日期时间命名的文件
touch
1 | date -d yesterday +%F |
.log生成一个以昨天时间命名的文件
hostname 显示完整的计算机名
yes 刷屏命令
which 按照环境变量显示命令所在路径
sosreport 红帽日志收集命令
makewhatis | mandb(centos6/7)加在whatis库
rm 删除命令
df 查看磁盘挂载信息
ntpdate 目标IP地址 :与该IP主机的时间进行同步
type 查看命令是内部命令还是外部命令
chvt 1~6 切换到不同的运行级别
命令历史记录:
history显示历史执行命令(显示执行过的一千条命令)/.bash_history
-p `要执行的命令` 不留痕迹的执行命令
-s’假装要执行的命令’ 在命令历史记录添加一条假命令(皮一下)
!n执行历史命令的第n条命令
!-n执行历史命令的倒数第n条命令
Ctrl+n 打印历史记录的第n条命令但不执行
Ctrl+r 输入想搜索的命令内容,显示最近
dc 计算器
Ibase=2 二进制转换为十进制
Obase=2 十进制转换为二进制
hash缓存表:
hash 查看hash缓存表
hash -l 显示详细信息
hash -r 清空缓存表
hash -t [命令] 打印缓存中的命令路径
hash -d [命令] 清空该命令缓存
hash -p [命令路径] 起别名
时间:
data 系统时间
clock 主板时间
clock -s 以主板时间为准同步时间
clock -w 以系统时间为准同步时间
时区:/etc/localtime
tzselect 查看当前时区(centos6)
timedatectl 查看当前时区(centos7)
timedatectl list-timezone 显示所有时区
timedatectl set-timezone [时区] 更改时区
日历:cal
cal 9 1752(特殊日期)
别名:
alias 显示当前shell进程所有可用的命令别名
alias NAME=’value’ 定义别名NAME,其相当于执行命令VALUE(给需要经常执行的繁琐命令创建简单别名)
永久有效
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
当alias定义的别名与其他命令冲突且想使用原命令时就在命令前添加“”
例如:alias ifconfig=”ifconfig ens33”
使用别名:ifconfig
使用原始命令:ifconfig
Ctrl+c 关闭当前运行的进程
Tab键:补全
单击补全命令、文件名、路径。
双机:所有子命令或文件补全
环境变量:
$PS1
显示提示符格式 配置文件在/etc/profile.d/env.sh
$SHELL
查看当前使用的shell环境
$PATH
系统调用外部命令的路径顺序
$LANG
语言变量 配置文件在/etc/sysconfig/i18n(centos6)
$HISTSIZE
历史记录默认行数变量 配置文件在 /etc/profile
HISTFILE
指定历史文件,默认为~/.bash_history
HISTFILESIZE
命令历史文件记录历史的条数
HISTTIMEFORMAT=“%F %T “ 显示时间
HISTIGNORE=“str1:str2*:… “忽略str1命令,str2开头的历史
Linux远程协助;
screen同一shell内远程协助(使用者和帮助者都能看到或干预所有操作内容)
screen -S 会话名称 新建screen会话
screen -x 会话名称 连接screen会话
screen -r 会话名称 恢复screen会话
Ctrl+a、d 离开screen会话(按Ctrl+a后不要在按d)
screen -ls 查看screen会话
只能在同一服务器的两个终端使用,多用于业务不中断使用。
登录前提示信息文件:/etc/issue(远程ssh连接显示登录前提示信息需要更改/etc/ssh/sshd_config配置文档,#Banner none注释去掉指定提示信息文件路径Banner /etc/issue )
登陆后提示信息文件:/etc/motd
文件管理:
文件分层结构
文件名称区分大小写(不包括FAT格式文件系统)
以.开头的是隐藏文件
文件有两类数据:
元数据:metadata
数据:data
ldd /bin/ls 查看ls命令所调用到的库
du 显示目录大小
/misc目录:光盘自动挂载(仅限于centos6)
操作方法:cd /misc回车cd cd/回车就挂载上了
/proc目录;保存在内存中的虚拟目录
虚拟机不关机添加新硬盘识别硬盘:
添加后运行:echo ‘- – -’ > /sys/class/scsi_host/host2/scan
Linux文件颜色表示:(系统默认)
绿色文件: 可执行文件,可执行的程序
红色文件:压缩文件或者包文件
蓝色文件:目录
白色文件:一般性文件,如文本文件,配置文件,源码文件等
浅蓝色文件:链接文件,主要是使用ln命令建立的文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
粉色:socket文件
/dev/sda文件:块设备
/dev/zero文件:字符设备
dd if=/dev/zero of=/date/bigfile bs=1m count=1024 填充存储空间,测试磁盘存储带宽
路径
绝对路径:完整路径
相对路径:相对于目前所在位置的路径
父目录:目前所在目录的上一级目录,用 .. 表示
当前目录:当前所在的目录,用 . 表示
pwd 显示目前所在的绝对路径(可能显示链接路径)
pwd -p 显示目前所在的真实绝对路径
basename /etc/sysconfig/network 显示文件名不显示目录
dirname /etc/sysconfig/network 显示目录不显示文件名
本文内容Java程序员了解基本常识,会按百度方法安装系统,会用常用命令进行系统操作即可。对Linux系统有兴趣的可进行本文外的深入学习。
转载请注明:前端收藏 » Java程序员必备的Linux知识