美文网首页
Linux常用命令和环境搭建

Linux常用命令和环境搭建

作者: 蛙哇 | 来源:发表于2019-11-07 09:12 被阅读0次

    一、Linux权限的概念

    Linux下有两种用户:普通用户和超级用户()。

    普通用户:在linux下做有限的事情;

    超级用户:可以在linux系统下做任何事情,不受限制。

    普通用户的提示符是“$”,超级用户的命令提示符是“#”。

    命令: su [用户名]

    功能:切换用户

    Linux权限管理

    1.文件访问者的分类(人)

    文件和文件目录的所有者:u—User

    文件和文件目录的所有者所在的组的用户:g—Group

    其他用户:o—Others

    2.文件访问权限的种类

    基本权限:

    read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录信息的权限。

    write 对文件而言,具有修改文件内容的权限;对目录来说,具有删除移动目录内文件的权限。

    execute 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。

    - 表示不具有该权限。

    3.文件权限值得表示方法

    r-- 只读 权限为4+0+0=4

    -w- 仅可写 权限为0+2+0=2

    --x 仅可执行

    rw- 可读可写

    -wx 可写可执行

    r-x 可读可执行

    rwx 可读可写可执行

    — 无权限

    rwx 其中r权限为4 w为2 x为1,rwx为4+2+1=7

    二、Linux下基本命令

    1.ls命令:

    格式::ls [选项] [目录或文件]

    功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。

    常用选项:

    -a :列出目录下的所有文件,包括以 . 开头的隐含文件。

    -d :将目录像文件一样显示,而不是显示其他文件。

    -i :输出文件的i节点的索引信息。

    -k :以k字节的形式表示文件的大小。

    -l :列出文件的详细信息。

    -n :用数字的UID,GID代替名称。

    -F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。

    2.cd命令

    格式:cd [目录名称]

    常用选项:

    cd .. 返回上一级目录。

    cd ../.. 将当前目录向上移动两级。

    cd - 返回最近访问目录。

    3.pwd命令

    格式: pwd

    功能:显示出当前工作目录的绝对路径。

    4.touch命令

    格式:touch[选项] 文件名…

    功能:touch命令参数可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

    常用选项:

    -a 仅改变指定文件的存取时间。

    -c 或–no-creat 不创建任何文件。

    -m 仅改变指定文件的修改时间。

    -d 使用指定的日期时间,而非现在的时间。

    -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

    5.mkdir命令

    格式:mkdir [选项] dirname…

    功能:mkdir命令用来创建目录。

    常用选项:

    -p –parents 可以是一个路径名称。此时若路竞争的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

    -m –mode=MODE 将新建目录的存取权限设置为MODE,存取权限用给定的八进制数字表示。

    6.rm命令

    格式:rm [选项] 文件列表

    功能:rm命令删除文件或目录。

    常用选项:

    -f –force 忽略不存在的文件,并且不给出提示信息。

    -r -R,–recursive 递归地删除指定目录及其下属的各级子目录和相应的文件。

    -i 交互式删除文件。

    说明:rm命令删除指定的文件,默认情况下,它不能删除目录。如果文件不可写,则标准输入是tty(终端设备)。如果没有给出选项-f或者–force,rm命令删除之前会提示用户是否删除该文件;如果用户没有回答y或者Y,则不删除该文件。

    7.rmdir命令

    格式:rmdir [选项] dirname

    功能:删除目录。

    常用选项:

    -p –parents 递归删除目录 dirname,当子目录删除后其父目录为空时,也一同被删除。如果有非空的目录,则该目录保留下来。

    8.man 命令

    格式:man [选项] 命令

    功能:man命令格式化并显示某一命令的联机帮助手册页。

    常用选项:

    -k 根据关键字搜索联机帮助。

    num 只在第num章节找。

    -a 将所有章节的都显示出来。

    说明:面手册分为8章:

    1. 一般用户的命令;

    2. 系统调用;

    3. C语言函数库;

    4. 有关驱动程序和系统设备的解释;

    5. 配置文件的解释;

    6. 游戏程序的命令;

    7. 有用的杂类命令,如宏命令包等;

    8. 有关系统维护和管理的命令。

    9.cp命令

    格式:cp [选项] 源文件或目录 目标文件或目录

    功能:复制文件或目录。

    常用选项:

    -f –force 强行复制文件或目录,不论文件或目录是否已经存在。

    -d 复制时保留文件链接。

    -i –interactive覆盖文件之前先询问用户。

    -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。

    -R 或–recursive递归处理,将指定目录下的文件及子目录一并处理。

    10.mv命令

    格式:mv [选项] 源文件或目录 目标文件或目录

    功能:mv命令对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。

    常用选项:

    -f force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖。

    -i 若目标文件(destination)已经存在时,就会询问是否覆盖。

    11.cat/tac命令

    格式:cat [选项] [文件]

    功能:查看目标文件的内容。

    常用选项:

    -b 对非空输出行编号。

    -n 对输出的所有行编号。

    -s 不输出多行空行。

    12.more命令

    格式:more [选项] [文件]

    功能:more命令显示文件内容,每次显示一屏。

    常用选项:

    -n 对输出的所有行编号。

    -s 将文件中连续的空白行压缩成一个空白行显示。

    -num 这个选项制定一个整数,表示一屏显示多少行。

    q 退出more。

    13.less命令

    格式:less [参数] 文件

    功能:less命令与more命令类似,但二者存在差别,less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。

    常用选项:

    -i 忽略搜索时的大小写。

    -N 显示每行的行号。

    14.head命令

    格式:head [选项] [文件]

    功能:head命令在屏幕上显示指定文件的开头若干行。

    常用选项:

    -c –bytes=[-]N 显示每个文件前面N字节。

    -n –lines=[-]N 显示指定文件的前面N行。

    15.tail命令

    格式:tail [选项] [文件]

    功能:用于显示指定文件的末尾,不指定文件时,作为输入信息进行处理。常用查看日志文件。

    说明:tail命令从指定点开始将文件写到标注输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

    常用选项:

    -f 循环读取。

    -n <行数> 显示行数。

    16.时间相关的命令

    date显示

    date 指定格式显示时间:date+%Y:%m:%d

    date用法:date:date[OPTION]… [+FORMAT]

    %H 小时(00..23)

    %M 分钟(00..59)

    %S 秒(00..61)

    %X 相当于%H:%M:%S

    %d 日(01..31)

    %m 月份(01..12)

    %Y 完整年份(0000..9999)

    %F 相当于%Y-%m-%d

    时间戳

    时间->时间戳:date+%s

    时间戳->时间:Unix时间戳是从1970年1月1日开始所经过的秒数,不考虑闰秒。

    17.cal命令

    格式:cal [参数] [月份] [年份]

    功能:用于查询日历等时间信息,如果只有一个参数,则表示年份(1-9999),如果有两个参数,则表示月份和年份。

    常用选项:

    -3 显示系统前一个月,当前月,下一个月的月历。

    -j 显示在当年中的第几天(一年日期按天算,从1月1日算起,默认显示当前月在一年中的天数)。

    -y 显示当前年份的日历。

    18.find命令

    格式:find pathname -options

    功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)。

    常用选项:

    -name 按照文件名查找文件。

    19.grep命令

    格式:grep [选项] 搜寻字符串文件

    功能:在文件中搜索字符串,将找到的行打印出来。

    常用选项:

    -i 忽略大小写的不同,所以大小写视为相同。

    -n 顺便输出行号。

    -v 反向选择,亦即显出没有‘搜寻字符串’内容的那一行。

    20.zip/unzip命令

    格式:zip 压缩文件.zip 目录或文件

    功能:将目录或文件压缩成zip格式。

    常用选项:

    -r 递归处理,将指定目录下的所有文件和子目录一并处理。

    21.tar命令

    格式:tar [-cxtzjvf] 文件与目录… 参数

    功能:打包/解包,不打开它,直接看内容。

    -c 建立一个压缩文件的参数指令(create的意思)。

    -x 解开一个压缩文件的参数指令。

    -t 查看tarfile里面的文件。

    -z 是否同时具有gzip的属性?亦即是否需要用gzip压缩?

    -j 是否同时具有bzip的属性?亦即是否需要用bzip压缩?

    -v 压缩的过程中显示文件。这个常用,不建议用在背景执行过程。

    -f 使用档名,请留意,在f之后要立即接档名,不要再加参数。

    -C 解压到指定目录。

    22.bc命令

    bc命令可以很方便的进行浮点运算。

    23.uname -r命令

    格式:uname [选项]

    功能:uname用来获取电脑和操作系统的相关信息。

    常用选项:

    -a 或-all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。

    24.如何查找特定的文件

    find ~ -name "target.java" :精确查找文件

    find ~ -name "target*" : 模糊查找文件

    find ~ -iname "target*" :不区分文件名大小写去查找文件

    man find :更多关于find指令的使用说明

    25.检索文件内容

    grep 'partial\[true\]' bsc-ll.log :检索出包含某字段的文件展示相关的行

    grep -o 'engine\[[0-9a-z]*\]' :通过杠o选项选出符合正则表达式的字段

    grep -v 'grep' :过滤包含相关字符串的内容

    26.对文件内容做统计(对列进行操作)

    awk ‘{print $1,$4}' net.txt :打印出第一列和第四列的数据

    awk ’$1=="tcp" && $2==1{print $0}' net.txt :打印满足第一列和第二列所有数据

    awk '{enginearr[$1]++}END{for(i in enginearr)print i "\t" enginearr[i]}'

    awk ’($1=="tcp" && $2==1) ||NR==1 {print $0}' net.txt 打印满足第一列和第二列所有数据加表头

    awf -F ',' {print $2} net.txt : 以逗号作为分割负

    27.批量替换文本内容(对行进行操作)

    sed -i 's/^Str/String/' ne.txt 将Str替换为String

    sed -i 's/\.$/\;/' ne.txt :将逗号替换为分号

    sed -i 's/Jack/me/g' ne.txt :将文本中所有jack改成me

    sed -i '/inter/d' net.txt :删除指定的行

    三、Linux搭建环境

    MySQL搭建常用命令

    安装:

    下载:yum install mysql -community -server

    解压:tar -xvzf mysql-5.6.38-linux-glibc2.12-i686.tar.gz

    移动到指定目录:mv mysql-5.6.38-linux-glibc2.12-i686/ mysql

    查看初始化密码:cat /var/log/mysql.log | grep password

    1.开启和关闭

    开启: service mysqld start

    关闭: service mysqld stop

    重启: service mysqld restart

    2.登录

    2.1.密码明文

      语法:mysql -u用户名 -p用户密码

      举例:mysql -uroot -p123456

    2.2.密码密文

      语法:mysql -u用户名 -p+回车,然后输入密码

      举例:mysql -uroot -p

    3.修改密码

    3.1.SET PASSWORD命令(需登录)

    语法:mysql> set password for 用户名@localhost = password('新密码');

    举例:mysql>set password for root@localhost = password('123456');

    或者set password='新密码';

    想设置简单密码提示错误解决方法:

    3.2.使用sql语句更新 mysql 库中的 user 表(需登录)

      mysql> use mysql;

      mysql> update user set password=password('123') where user='root' and host='localhost';

      mysql> flush privileges;

    3.3.mysqladmin命令,明文(不需登录)

      语法:mysqladmin -u用户名 -p旧密码 password 新密码

      举例:mysqladmin -uroot -p123 password 123456

    3.4.mysqladmin命令,密文(不需登录)

      语法:mysqladmin -u用户名 -p旧密码 password+回车,然后输入两次新密码

      举例:mysqladmin -uroot -p123 password

    4.常用操作(需登录)

    4.1.显示数据库列表

      show databases;

    4.2.创建、删除数据库

      create database 数据库名;

      drop database 数据库名;

    4.3.显示库中的数据表

      use mysql;

      show tables;

    4.4.显示数据表结构

      describe 数据表名;

    5.导入、导出数据库(不需登录)

    5.1.导出所有数据库

      语法:mysqldump -u用户名 -p密码 --all-databases >导出路径

      举例:mysqldump -uroot -p123456 --all-databases >/tmp/all.sql

    5.2.导出指定数据库

      语法:mysqldump -u用户名 -p密码 --databases 数据库名>导出路径

      举例:mysqldump -uroot -p123456 --databases testdatebase >/tmp/testdatebase.sql

    5.3.导出指定数据库的结构(无数据)

      语法:mysqldump -u用户名 -p密码 --no-data --databases 数据库名>导出路径

      举例:mysqldump -uroot -p123456 --no-data --databases testdatebase >/tmp/testdatebase_no_data.sql

    5.4.导出指定数据库中的指定表

      语法:mysqldump -u用户名 -p密码 --databases 数据库名 --tables 数据表名>导出路径

      举例:mysqldump -uroot -p123456 --databases testdatebase --tables t_user >/tmp/testdatebase_user.sql

    5.5.导出指定数据库中的指定表的结构(无数据)

      语法:mysqldump -u用户名 -p密码 --no-data --databases 数据库名 --tables 数据表名>导出路径

      举例:mysqldump -uroot -p123456 --no-data --databases testdatebase --tables t_user >/tmp/testdatebase_user_no_data.sql

    5.6.导出指定数据库中的指定表,设置查询条件

      语法:mysqldump -u用户名 -p密码 --databases 数据库名 --tables 数据表名 --where='条件'>导出路径

      举例:mysqldump -uroot -p123456 --databases testdatebase --tables t_user --where='user_no=1'>/tmp/mysql_user_no.sql

    5.7.跨服务器备份数据库

      将 host1 服务器中的 db1 数据库的所有数据导入到 host2 中的db2数据库中,db2的数据库必须存在否则会报错

      (经测试,在mysql5.5版本中,db2存在即可,实际生成数据库名称与db1一致;加上-C参数可以启用压缩传递)

      语法:mysqldump --host=host1 -u用户名 -p密码 --databases db1 |mysql --host=host2 -u用户名 -p密码 --databases db2

      举例:mysqldump --host=192.168.1.101 -uroot -p123456 -C --databases testdatebase |mysql --host=192.168.3.102 -uroot -p123456 --database testdatebase

    5.8.通过 sql 文件导入数据库

      语法:mysql -u用户名 -p密码 < 导入路径

      举例:mysql -uroot -p123456 < /tmp/testdatebase.sql

    Nginx搭建

    安装 :yum install nginx

    启动 service nginx start /(restart)

    停止:service nginx stop

    重载:service nginx reload

    搜索nginx进程是否启动:ps -ef | grep nginx

    缓存服务

    memcached

    安装:yum install memcached

    启动:memcached -d -l -m -p

    停止:kill pid

          Redis基本操作

    源码编译安装 

    启动:redis -server start/restart

    停止:redis server stop

    客户端:redis -client

    java安装

    yum -y install java-1.8.0-openjdk*

    Apache 基本操作

    安装:yum install httpd

    启动:service httpd start /restart

    停止:service httpd stop

    重载:service httpd load

    四、Linux系统根目录下各个目录的作用

    /bin 二进制可执行命令。该目录下存放着普通用户的命令

    /dev 系统的设备文件,即设备的驱动程序

    /home 存放用户文件的主目录,用户数据

    /lib 存放着和系统运行相关的库文件

    /mnt 存放临时的映射文件,通常是一些用来安装其他设备的子目录

    /boot 存放启动linux的核心文件

    /media 存放着可移除的设备,比如软盘,光盘

    /misc 储存着一些特殊的字符的定义

    /net 存放着和网络相关的一些文件

    /proc 存放着用户与内核的交互信息

    /sbin 系统的管理命令,这里存放的是系统管理员使用的程序

    /srv 系统启动服务时可以访问的数据库目录

    /tmp 临时文件,重启后自动清空

    /var 存放系统产生的经常变化的文件

    /etc 系统所有的配置文件都在这个目录中

    /opt (option : 自由选择)主要给源码安装软件时选择的安装目录位置

    /root 超级用户的目录

    /selinux 主要用来加固操作系统,提高系统的安全性

    /sys 管理设备文件

    /usr 最大的目录,存放着应用程序和文件

    /lost-found 这个目录平时是空的,当系统非正常关机而留下的“无家可归”的文件便会储存在这里

    相关文章

      网友评论

          本文标题:Linux常用命令和环境搭建

          本文链接:https://www.haomeiwen.com/subject/yejmbctx.html