zoukankan      html  css  js  c++  java
  • Linux常见知识点

    个人使用建议采用Ubuntu,云服务器则采用CentOS

    安装软件放在了根目录下的software下面

    阿里云服务器(Ubuntu16.04 64位)远程连接

    命令相关

    对 Linux 新手非常有用的 20 个命令

    ls -la 目录

    lsblk -l 列出块设备(了解新插入的USB设备的名字,特别是当你在终端上处理磁盘/块设备时)

    uname -a

    history   注意:按住“CTRL + R”就可以搜索已经执行过的命令,它可以在你写命令时自动补全。

    查看Ubuntu系统位数和版本号

    uname –a

    "uname"命令就是Unix Name的简写。显示机器名,操作系统和内核的详细信息。

     

    有出现64的信息,则是64位

    lsb_release –a    查看版本信息

    显示发行版本信息。

    LSB是Linux Standard Base的缩写, lsb_release命令 用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数。

     

    用户相关

    root权限最大,你的任何误操作就可能使数据找不回来,而普通用户对系统的操作是有限的,如果你是自己学习,用root帐号也可以,如果生产环境还是普通用户吧。多人学习使用的话还是建议用普通账户。。

    Root的用户权限很高,有时候不想让别人时候Root用户访问文件或者使用Root进行操作很可能会发生事故,Linux最重要的就是安全及权限。在这里要教大家如何给你的Linux系统新建用户并个用户增加密码。

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的密码。用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。

    Ubuntu基础命令(六)--添加和删除用户和用户组

    目录相关

    1、linux中~和/的区别

    ~ 是当前用户的目录地址

    /   是根目录的地址(一般称呼为root,/ 和 /root/ 是有区别的)

    /   也指目录分隔符

    ”/“是根目录,”~“是家目录。Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录。而每个用户都有”家“目录,也就是用户的个人目录。

    比如root用户的”家“目录就是/root,普通用户a的家目录就是/home/a,普通用户b的家目录就是/home/b

    注:每个用户下都有以下这些目录,但是需要此用户在物理机上登录过。。

    1、当用户是root用户时

    ~  代表/root/,即根目录下的root目录

    /    代表/ ,即根目录

    2、当用户是jack用户时

    ~  代表/home/jack,即根目录下的home目录下的jack目录

    /    代表/ ,即根目录

    2、Ubuntu根目录下各文件夹的功能详细介绍

    安装软件/模块

    安装:Sudo apt-get install xx

    卸载:sudo apt-get --purge remove 包名 (--purge是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudo apt-get remove 包名

    eg:安装 Nginx

    sudo apt-get install nginx

    http://localhost/ 就可以看到了

    1.查看安装的所有软件

    dpkg -l      

    查看具体某个软件,例如:dpkg -l  grep ftp

    【注:dpkg 是“Debian Packager ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。】

    2.查看软件安装的路径

    dpkg -L | grep ftp

    也可以用 whereis ftp

    3.查看软件版本

    aptitude show

    例如:aptitude  show ftp

    查看linux下是否有安装某个包

    1. 区分 rpm -qi -qf  -ql  -qa四个不同选项组合的作用?

    rpm -qi 包名 查看一个包的详细信息

    rpm -qf 文件名 查看一个文件是由哪个包安装的

    rpm -ql 包名 查看一个包安装了哪些文件

    rpm -qa 查看系统中安装了哪些包

    2. rpm -qi 后面如果跟一个未安装的包名,会显示什么信息?

    答:包名 is not installed

    Vim的使用

    1、跳到指定行

    在vim中有3中方法可以跳转到指定行(首先按esc进入命令行模式):

    1、ngg/nG (跳转到文件第n行,无需回车)

    2、:n (跳转到文件第n行,需要回车)

    3、vim +n filename (在打开文件后,跳转到文件的第n行)

    2、编辑文件,并保存,退出等

    打开文件:Vi nginx.conf

    保存,但不退出vi                          :w  

    保存并退出vi                                 :wq  

    退出vi,但不保存更改                   :q!  

    用其他文件名保存                         :w filename  

    在现有文件中保存并覆盖该文件    :w! filename

    服务

    service与systemctl

    Linux 服务管理有两种方式:service和systemctl

    1.service命令

    service命令其实是去/etc/init.d目录下,去执行相关程序

    # service命令启动redis脚本
    service redis start

    2.systemctl命令

    systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。

    systemd对应的进程管理命令是systemctl

    1)systemctl命令兼容了service,即systemctl也会去/etc/init.d目录下,查看,执行相关程序

    2)systemctl命令管理systemd的资源Unit

    systemd的Unit放在目录/usr/lib/systemd/system(Centos)或/etc/systemd/system(Ubuntu)

    主要是.service文件。.service文件定义了一个服务,分为[Unit],[Service],[Install]三个小节

    [Unit]
    Description:描述,
    After:在network.target,auditd.service启动后才启动
    ConditionPathExists: 执行条件
    
    [Service]
    EnvironmentFile:变量所在文件
    ExecStart: 执行启动脚本
    Restart: fail时重启
    
    [Install]
    Alias:服务别名
    WangtedBy: 多用户模式下需要的

    参考:详解Linux 服务管理两种方式service和systemctl

    systemctl的使用

    1、格式:systemctl   [command]   [服务]

    相关的command

    • start:立即启动后面的服务
    • stop:立即关闭后面的服务
    • restart:立即重新启动后面的服务
    • reload:不关闭后面的服务情况下,重新加载服务的配置文件,让设置生效
    • enable:设置开机时,后面的服务自动启动
    • disable:设置开机时,后面的服务不自动启动
    • status:查看后面服务的状态(有没有执行、开机是否默认启动、登录信息等)
    • is-active:目前这个服务有没有正在运行中
    • is-enable:开机时有没有默认要启动这个服务
    • mask:强制注销后面的服务
    • unmask:将强制注销的任服务改回为原来的状态

    ————————————————
    eg:启动一个asp.net core服务  systemctl start myFirstapp.service

    参考:Linux(入门基础):103---systemctl命令管理单一服务(启动/关闭/状态)

    2、查看指定的服务

    格式:systemctl   [command]  [--type-TYPE]  [--all]

    查看myFirstapp.service服务,则是

    systemctl list-units --type=service --all | grep myFirstapp

    参考:Linux(入门基础):104---systemctl命令查看系统服务

    查看所有服务:systemctl list-unit-files

    Shell脚本

    1、linux下使用shell脚本切换到root用户并执行脚本

    需要安装expect

    yum install expect -y

    #!/usr/bin/expect
    spawn su root
    expect "Password:"
    send "这里写root用户的密码
    "
    send "cd /home/wwwroot/script/
    "
    send "./cache-face.sh
    "
     
    expect eof
    exit 

    界面

    在Ubuntu 18.04终端使用w3m浏览器,命令行模式浏览网页

    学习书籍

    《linux就该这么学》

    常见问题

    1、E: Unable to locate package xxx

    Unable to locate packet就是无法找到包,因为在执行sudo apt-get install之前更换了软件源,但是却忘了update下了,于是执行下面的命令:

    sudo apt-get update

    等上面命令执行完后,再执行sudo apt-get install就可以了!

    2、Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another proce...

    进程被锁住了。
    第一种方法,我们只需要杀死之前的进程,释放系统锁就可以了:

    ps -e|grep apt-get
    显示

    6965 ? 00:00:01 apt-get
    然后执行

    sudo kill 6965
    第二种方法,强制解锁

    sudo rm /var/cache/apt/archives/lock
    sudo rm /var/lib/dpkg/lock
    但是试了几次却不管用,可行性未知
    ===========================================
    重启 系统
    sudo systemctl --force reboot
    这个会重新启动系统,所以使用前先保存一下需要保存的文件,这个方法是可行的。

    3、出现Swap file….already exists以下错误如何解决?

    E325: ATTENTION

    Found a swap file by the name".a.sh.swp"Swap file ".a.sh.swp" already exists!

    [O]pen Read-Only, (E)dit anyway,(R)ecover, (D)elete it, (Q)uit, (A)bort:

    解决方法:只需命令行将其删除即可,命令:rm -rf .a.sh.swp

    4、bash: ./build: /usr/bin/sh^M: 坏的解释器: 没有那个文件或目录

    有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为脚本文件在windows下编辑过。

    在windows下,每一行的结尾是 ,而在linux下文件的结尾是 ,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符 ,用cat -A urfile时你可以看到这个 字符被显示为^M,这时候只需要删除这个字符就可以了。

    可以使用命令sed -i 's/ $//'  filename

    也可以安装一个工具:dos2unix

    说明:将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为 ,而Unix&Linux文件的换行符为 . dos2unix命令其实就是将文件中的 转换为 。

    yum install -y dos2unix

    执行转换:dos2unix filename

     

  • 相关阅读:
    古谚、评论与论断、名篇与名言
    重读《西游记》
    重读《西游记》
    命名之法 —— 时间、季节、地点
    命名之法 —— 时间、季节、地点
    文言的理解 —— 古时的称谓、别称、别名
    文言的理解 —— 古时的称谓、别称、别名
    Oracle GoldenGate for Oracle 11g to PostgreSQL 9.2.4 Configuration
    瀑布 敏捷 文档
    POJ 1325 ZOJ 1364 最小覆盖点集
  • 原文地址:https://www.cnblogs.com/peterYong/p/11030224.html
Copyright © 2011-2022 走看看