linux学习(centOS学习记录)一_linux就要这样学
近来买了个云服务器,就来学了
目录
- 一、基本命令
- 二、文件结构
- 三、绝对路径和相对路径
- 四、文件的管理
一、基本命令
- type 命令:查看命令是内部命令还是外部命令
type tty
type mysql
type cat
- which 命令:查看某个命令文件所在的位置
- uname -a 显示电脑以及操作系统的全部信息。
- echo 字符:向当前终端输出字符:echo abcde
echo 字符 > /dev/pts/{n} //向n号终端输入字符
通信: echo abc > /dev/pts/1 //向1号终端输入字符
echo -e 'll\nlSh' //-e开启字符转义 \n newline
echo 字符 > 文件 //向文件中写入字符,会覆盖其他内容
cho 字符 >> 文件 //向文件中追加字符,不会覆盖其他内容
- tab键可以补全命令或者字符
- tty:显示终端机名称-Teletype的缩写
[root@8sccZ /]# tty
/dev/pts/0
- ls命令:list查看目录
ls //列出当前目录文件
ls -l //当前目录下文件的详细信息,d目录,l链接,b块设备,c字符块设备,p通道文件,~普通文件
ls -a //列出当前目录下的所有包括隐藏文件
ls -d //仅查看目录,不查看目录下的内容 --directory 目录
ls -S //大写S,目录按存储从大到小排列 sort排序
ls -h //存储容量转为K/M/G单位 --human-readable 人类可读的
//以上可以混写
- ll命令:等价于 ls -l,使用的是别名
- alias别名:用来定义一个别名,方便使用,仅在当前登陆期有效
alias lSh='ls -lSh --color=auto' //这样可以直接使用lSh命令了
alias -p //打印出系统中所有的别名
unalias lSh //移除别名
针对root用户,别名永久生效的方法,
vim中按i键进入insert模式,ctrl+[ 进入命令模式(ESC键可能无效)
:wq保存并退出vim
vim /root/.bashrc //vim打开这个文件,在文件最后插处别名定义语句
alias lSh='ls -lSh --color=auto' //然后保存退出:wq
source /root/.bashrc //执行.bashrc文件中的命令
针对全部用户,改写vim /etc/bashrc,将alias命令复制到最末一行即可,然后source这个文件。
- source FileName 命令:在当前bash环境下读取并执行FileName中的命令。
等同于. FileName,source可以简写成".",此命令用于执行filename中的内容,当大量编写命令时,可以将命令写在一个文件中,然后使用“source filename”来执行其中的命令相,相当于windows的bat批处理。
- find命令:查找,可以模糊匹配,使用通配符(*匹配0个或多个字符,?匹配单个字符)
//在当前目录下查找目录
find lib* //以lib开头的
find *lib* //以lib为中间的,包含开头
find lib? //以lib开头的四位字符
//.代表在当前目录及子目录中查找所有匹配,filename可以使用通配符
find . -name filename
- pwd命令: 查看”当前工作目录“的完整路径 print work directory
- history命令:查看历史命令
history
history -c //清除历史命令clear
1.键盘上下键头键可以选择历史命令;
2.ctrl+r //字符查找命令,输入模糊命令单词可查找
3.!数字 //选择历史命令中的第n条,然后回车确认执行
4.!字符串 //以字符串开头的最近命令,回车后执行
- 快捷键方式,ctrl+键,其中ctrl显示的是^符号
ctrl + c:终止当前命令或者程序
ctrl + d : 等同于exit,停止终端
ctrl + r :查找命令
ctrl + l :等同clear命令
cat /root/.bashrc
vim !$ // 引用上一个命令的参数,等同于vim /root/.bashrc
- 补全命令:使用tab键,仅能补全命令、文件的路径和名称
当仅有一次补全的时候tab键会直接补全,如果一次tab没有补全再按一次tab会显示以输入字符开头的所有命令或路径文件名称。
- 时间管理
linux分为硬件时间和系统时间,当系统启动的时候系统时间会去主板上读取硬件时间,然后系统时间就会独立运行。
hwclock //硬件时间
hwclock --hctosys //将系统时间调整为硬件时间
hwclock --systohc //将硬件时间调整为系统时间
date //系统日期 带时区:UTC世界标准时间;GMT格林尼治时间;CST中国标准时间
date -s 'yyyy-MM-dd HH:mm' //修改系统时间 -s == --set
// "+%Y-%m-%d %H:%M:%S"
date '+%F' //仅显示日期 %F完整日期格式,等价于%Y-%m-%d
- time命令,用来在命令运行后显示其运行的时间
time lSh -a
***
real 0m0.002s //真实时间
user 0m0.001s //用户时间
sys 0m0.001s //内核时间
- 帮助命令 man:查看手册页或者命令描述
man find
/ 斜杠搜索? q退出? 支持翻页
- 关机命令:shutdown
shutdown -r now//立即重启 等同于 init 6
shutdown -r 时间//定时重启,时间可以是具体时间H:M:S也可以是+n分钟
shutdown -h now//立即关机等同于 init 0
shutdown -h 时间 //定时关机,时间可以是具体时间H:M:S也可以是+n分钟
shutdown -c //取消定时重启和关机操作
- init切换系统模式
init 0 //关机,等同于 shutdown -h now
init 1 //单用户root权限,用于系统维护,禁止远程登陆,相当于w下的安全模式
init 2 //多用户模式,没有NFS和网络
init 3 //完全多用户模式,有网和NFS,登陆后进行命令模式
init 4 //未使用
init 5 //图形化模式
init 6 //重启模式,等同于shutdown -r now
二、文件结构
可使用tree命令查看目录结构,tree命令没有实装
yum install tree
/ | 处于linux系统树形结构的最顶端,它是linux文件系统的入口,所有的目录、文件、设备都在/之下。 |
/bin | 常用的二进制命令目录。比如ls、cp、mkdir、cut等; 和/usr/bin类似 vim打开后是二进制乱码 |
/boot | 存放的系统启动相关的文件 |
/dev | dev是 Device的缩写。 设备文件目录,比如声卡、磁盘…..…. 在Linux中一切都被看做文件。终端设备、磁盘等等都被看做文件 设备文件比如: /dev/sda,/dev/sda1,/dev/tty1,/dev/tty2,/dev/pts/1,/dev/zero,/dev/null,/dev/cdrom等 |
/etc | 常用系统及二进制安装包配置文件默认路径和服务器启动命令目录∶ /etc/passwd用户信息文件 /etc/shadow用户密码文件 /etc/group存储用户组信息 /etc/fstab系统开机启动自动挂载分区列表 /etc/hosts设定用户自己的IP与主机名对应的信息。 |
/home | 普通用户的家目录默认存放目录 |
/lib | 库文件存放目录,函数库目录 |
/mnt /mediac | /mnt和/media一般用来临时挂载存储设备的挂载目录,比如有cdrom、U盘等目录 |
/opt | 可选择的意思,有些软件包也会被安装在这里,可用来愉快玩的地方。 |
/proc | 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区.内存信息等)存放在这里。 /proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。因此,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里, 查看咱们的CPU信息。cat /proc/cpuinfo |
/sys | 系统目录,存放硬件信息的相关文件 |
/run | 运行目录,存放的是系统运行时的数据,比如进程的PID文件 |
/srv | 服务目录,存放的是我们本地服务的相关文件。 |
/sbin | 大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令 |
/tmp | 存放临时数据的,会被定期删除没有被使用的文件, var/tmp同理 |
/var | 系统运行和软件运行时产生的日志信息,内容是变动的。 如/var/log目录用来存放系统日志的目录 |
/usr | 存放应用程序和文件 /usr/bin普通用户使用的应用程序 /usr/sbin管理员使用的应用程序 /usr/lib库文件(32位) /usr/lib64库文件 |
三、绝对路径和相对路径
在linux中,绝对路径是以 / 开头的路径;
相对路径以.或者..开头的路径,其中.代表当前目录, ..代表上一级目录
cd /root //绝对目录,可以在任意目录中使用
cd ./root //相对目录,相对于当前目录的位置
cd ../root //root目录在当前目录的上一级目录中,即和当前目录是同一级
四、文件的管理
- cd命令:切换目录change directory
cd 目录名 // cd root 进入某个目录
cd //cd直接命令回返回当前用户的家目录
cd ~ //等同于cd或者cd 用户目录
cd . //进入当前目录
cd .. //两个点,向上返回一级目录
cd - //切换上一个目录
- touch命令:创建文件和文件夹,如果文件存在则修改文件的时间
touch a.txt //创建文件
touch f1 f2 //创建多个目录
touch f{3..20} //创建f3 - f20目录
stat a.txt //stat命令可以查看文件的详细信息
echo -e 'll\nlSh' > b.txt //将内容输入到文件中,注意-e开启字符转义,其中>为覆盖 >>为追加
- mkdir命令:仅创建文件夹目录
mkdir a
mkdir a b
mkdir f{1..5}
//当创建目录的时候,父级目录不存在会报错,加上可选参数 -p即可
mkdir -p /opt/a/b/c/d/e
- stat file/dir : 用来显示文件或目录的一些信息
- rm命令:删除文件或者文件夹,对于链接文件,仅删除链接文件,原文件不变化
rm file[dir] //删除文件或者目录,会让确认是否删除
-r //递归删除目录
-f //强制删除没有提示
rm -rf /* //一个梗
- rmdir命令:删除空目录
rmdir a
rmdir a b
rmdir f{1..5}
rmdir -p a/b/c //删除c空目录,如果b,a为空,则递归删除,直到目录不为空
- cp命令: 复制文件或者目录
cp 源文件/目录 目标文件/目录 //复制单个文件可以重命名
cp -r 源 目标 //递归复制目录,将其下的所有文件目录都复制到新的位置
- mv命令:移动文件或者目录
mv 源文件/目录 目标文件/目录 //移动单个文件可以重命名
mv -r 源 目标 //递归移动目录,将其下的所有文件目录都移动到新的位置
- 文件查看命令:cat、more、less、head、tail
cat file //一次性显示整个文件
more file //以分页显示文件,只能往下查看
less file //以分页显示文件,可以回看文件,上下翻页
head file //查看文件前十行
head -n 10 file //等同上句
tail file //查看文件末十行,一般用来查看log日志文件
tail -n 10 file //等同上句