linux入门学习笔记#

本文由笔者基于linux centos 7的root用户测试

基本文件操作

使用ls /查看目录(而不是ls查看文件)

pwd查看当前工作目录

使用cd切换目录 ..表上一层目录 ./表示当前目录

  • 写文件

vim filename(直接开始编辑)

vi filename(进入vi之后使用i进入编辑模式)

或者

nano filename(nano也是linux中的一个文本编辑器)

在vi/vim下写完之后  Esc进入命令模式(停止编辑) 输入:wq保存并退出(vi中的!具有强制的意思 比如:q!就是不保存强制退出)

在命令模式下输入:set -nu以在编辑器中显示行号

扫描二维码关注公众号,回复: 8945831 查看本文章

touch filename 可以创建一个空文件 touch命令也用于修改文件时间戳 使用date可以查看当前时间

 

  • 读文件

cat -n filename 其中-n为可选参数,表显示行号

也可以用上述三个文本编辑器读

 

  • 文件的移动

复制    cp /test1/file1 /test3/file2(把test1中的file1复制到test3中并更名为file2,-r为可选参数表递归复制,用于目录的复制)

删除    rm /test/file1(-f:强制删除;-i:交互模式,在删除前询问用户是否操作;-r:递归删除,常用在目录的删除)

移动    mv /test1/file1 /test3/file2(把test1中的file1移动到test3中并更名为file2,其中源文件可以是多个,-i表示若目标文件存在则询问是否覆盖)

注:mv有也可用作文件的重命名 比如 mv ./aa ./bb把当前目录下的aa文件重命名为bb

 

  • 文件的查找

查找目录:find /(查找范围) -name '查找关键字' -type d

查找文件:find /(查找范围) -name 查找关键字 -print‘’

find命令的参数很多,这篇文章写的很详细,我这里写出一些常用的用法

-name 查找名字

-o 或者

-path 匹配路径

-delete 放在find命令的最后表示查找并删除

-ok<执行指令>:在执行指令之前会先询问用户,若回答“y”或“Y”,则继续执行

e.g.

列出当前目录及子目录下所有文件和文件夹

find .

/home目录下查找以.txt结尾的文件名

find /home -name "*.txt"

同上,但忽略大小写

find /home -iname "*.txt"

当前目录及子目录下查找所有以.txt和.pdf结尾的文件

find . -name "*.txt" -o -name "*.pdf" 

以正则表达式*local*匹配文件路径或者文件

find /usr/ -path "*local*"

找出目录dongmie1999下所有名为aaaaa的文件并删除,其中aaaaa可以是一个正则表达式

find $HOME/. -name "*.txt" -ok rm {} \;

否定参数

找出/home下不是以.txt结尾的文件

find /home ! -name "*.txt"

 

注:对任何命令可以使用 xx(命令名)-- help查看帮助

例如

 

linux中的常用shell——bash

shell可以理解为是一种用户控制电脑的命令,通常指的是linux中的命令行。bash是linux中一种常用的、用C编写的shell,bash 也是大多数Linux 系统默认的 Shell。其他shell还有c shell,k shell等。

  • 查看当前的shell:

echo $SHELL

  • 写第一个shell

新建一个.sh文件(拓展名不影响使用,只是方便查找和使用):

vi shell_test.sh(不存在的话则默认新建一个)

键入以下内容

#!/bin/bash
echo "Hello World !"

第一行#!后的内容表示shell 的类型, 即默认使用何种shell打开,这里使用bash运行

  • 运行shell

1、作为可执行程序

将上面的代码保存为 test.sh,并 cd 到相应目录:

chmod +x ./test.sh  #使脚本具有执行权限
       ./test.sh  #执行脚本

注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。

2、作为解释器参数

这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:

/bin/sh test.sh
       /bin/php test.php

这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。

 

linux的文件权限

linux的文件访问将用户分为当前用户、用户组和其他用户

使用ls -l查看当前文件夹下文件的文件权限

rwx分别对应读、写、可执行

 

linux中的SUID,SGID

见我的另一篇博客

chmod命令

使用 chmod 改变访问模式,该命令接受8进制数字和模式字符串两种参数形式。

符号意义及说明如下:

  • 用户类型

a all 针对所有用户

o other 针对其他用户

g group 针对组用户

u user 针对拥有者

  • 操作类型

- 取消权限

+ 增加权限

= 精确设置权限

  • 权限类型

r read 读权限

w write 写权限

x eXecute 执行权限

X 对已具有执行权限的目录和文件设定执行权限,但不包括无格式文件。

s SUID 或 SGID 属性

t sticky 属性。

linux中文件颜色的含义

绿色文件---------- 可执行文件

红色文件-----------压缩文件或者包文件

蓝色文件----------目录    

白色文件----------普通,如文本文件,配置文件,源码文件等 

浅蓝色文件----------链接文件,主要是使用ln命令建立的文件

红色闪烁----------表示链接的文件有问题

黄色文件----------表示设备文件

灰色文件----------表示其它文件

linux的inode和硬链接、软链接

linux的文件包括文件内容(具体的字符)和文件信息(读写权限、大小等),这个文件信息就是inode。每个inode在系统中是唯一的,inode相同说明是同一个文件,inode不同则认为是不同的文件。

  • 关于inode

stat filename  查看该文件的inode信息

ls -i 列出当前目录下所有文件的inode(不包括隐藏文件,使用-ai查看所有文件的inode)

ls -i filename  查看该文件的inode号码

ls -li filename  查看该文件的inode号码以及读写权限、该inode有几个硬链接等信息

  • 硬链接(Hard Link)和软链接/符号链接(Symbolic Link)

硬链接:

ln ./file1 hard 对当前目录下的file1文件创建一个名为hard的硬链接

  1. 不同的文件名指向同一个inode。比如一个inode号码是1234,这个inode有两个硬链接,一个叫做f1,一个叫做f2,也就是说f1和f2指向同一个inode,这种连接方式称为硬链接,可以说是文件的“别名”。

  2. 只有所有的硬链接都被删除的时候这个文件才是彻底被删除了。

  3. 硬链接不可跨文件系统,也就是不能远程访问。

软链接:

ln -s ./file1 soft 对当前目录下的文件file1创建名为soft的软链接

  1. 创建的软链接拥有一个新的inode,也就是软链接是一个新的文件,但是这个文件指向源文件。这种连接方式类似于Windows中的快捷方式。同样地,通过软链接访问文件进行修改,源文件也会被修改。ls的时候软链接显示是蓝绿色,硬链接是白色。
  2. 删除软链接并不会影响源文件。
  3. 软链接可跨文件系统,也就是可以远程访问。

注:了解更多linux系统的数据结构http://blog.chinaunix.net/uid-14518381-id-3957854.html

数据库的安装与使用

使用yum安装mariadb:yum install mariadb-server

开启数据库服务:systemctl start mariadb

本地登录数据库:mysql

注:mariadb与mysql完全兼容,故详细的数据库操作不在此赘述

这个可以方便记忆linux下的命令linux命令英文缩写的含义(方便记忆)

进程管理

crond命令

crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

  • crond配置

服务操作说明:

/bin/systemctl start  crond.service  #启动服务

/bin/systemctl stop  crond.service  #关闭服务

/bin/systemctl restart  crond.service #重启服务

/bin/systemctl reload crond.service #重载配置

 

查看crontab服务状态:

service crond status

 

查看crontab服务是否已设置为开机启动,执行命令:

ntsysv #按Tab键切换到下一个按钮

加入开机自动启动:

chkconfig –level 35 crond on

 

  • crond用法

 

其他

shell的注释用#

多行注释可以在首尾加上!EOF!

ifconfig查看本机ip

发布了19 篇原创文章 · 获赞 2 · 访问量 5829

猜你喜欢

转载自blog.csdn.net/dongmie1999/article/details/101000122
今日推荐