2021-03-26 Linux基础

Linux基础

基本设置

  • [root@haddop-senior Desktop] #

    用户名 主机名 所在目录

    #表示当前用户属于root用户,超级管理员用户;$表示普通用户

  • ipconfig 查看IP地址

    ifconfig 显示或设置网络设备。

    P.S. 手动设置IP地址后,虚拟机无法连接到互联网

远程连接

工具

  • SecureCRT:远程命令行
  • FileZilla:FTP(File Transfer Protocal)
  • 远程编辑:UltraEditor、NotePad++
  • 远程图形界面:Xmanager

要素

  • IP地址→映射到主机名
  • 用户名+密码
  • 协议 ssh

主机名与IP地址映射

IP hostname

查看与修改文件地址:

Linux:/etc/hosts

Windows:C:\Windows\System32\drivers\etc\hosts

基本操作

clear
halt # 关机 只关系统不关闭电源-p 关闭电源
reboot # or init6 重启
shutdown #关机 now 立即关机 -r 重启
logout # 注销当前用户

uname -a # 展示电脑的基本信息,通常包括电脑名称,Linux内核版本,发行版名称等
cat /proc/version #展示当前运行的Linux发行版的详细信息
hostname # 显示主机名

whoami # 显示用户名 类似的还有logname命令
who # 单独执行who指令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个显示器 
w # 执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序
last # 列出目前与过去登入系统的用户相关信息
id # 显示用户的ID,以及所属群组的ID

date # 显示当前日期
free # 显示内存状况

Tab键自动命令补全

常用Shell命令

基本语法:command -option file

|:命令管道,串联多个命令

可使用通配符

echo $SHELL # 查看shell类型
man command # 查找命令含义及

grep

grep能使用正则表达式搜索文本,并把匹配的行打印出

grep foo /etc/passwd
# 返回在password文件中所有的含有foo的行
# grep -i "foo" /etc/passwd
# -i选项是忽略大小写,这就意味着若某一行含有FOO或FOo也会被搜索到
grep -r "foo" /etc/passwd
# 这条命令将会搜索/etc/passwd目录及其子目录下所有的包含“foo”的行
ls -la | grep foo*
# 列出当前目录下任何以foo开头的文件或目录,例如如下文件将被匹配:foo,foobar,foolish.txt

进程

ps # 显示哪些程序正在运行
ps -ef | grep firefox # 查找firefox进程
kill id # 杀掉某个进程

用户和组

Linux创建用户时,默认创建一个组,组名与用户名一致

用户

# 建立账号
useradd usrname
passwd usrname # 保存在/etc/passwd文本文件中

# 删除账号
userdel usrname
# 仅删除用户账号不删除相关文件
# -r 删除用户home目录

# 修改用户
usermod usrname
:<<! 常用参数
-d 指定用户主目录
-g 指定用户所属主群组
-G 指定用户的附属群组,多个逗号隔开
-L 锁定用户密码
-U 解锁用户
-s 修改用户指定的shell
-u 修改用户的uid
!

用户主目录可以用~表示

hostname # 查看或设置hostname P.S.重启后设置名称不保存
su # 切换用户;后面为空代表切换到root用户
su usr # 不切换环境变量,仍使用之前用户的环境变量
su -usr # 切换环境变量到新用户的环境变量
sudo # 临时获取root权限
  • 提升用户权限

    $ su root
    chmod 777 /etc/sudoers
    vi /etc/sudoers
    # 编辑/etc/sudoers文件,添加要提升权限的用户;在文件中找到root  ALL=(ALL) ALL,在该行下添加提升权限的用户信息
    # root    ALL=(ALL)       ALL
    # david  ALL=(ALL)       ALL
    

groupadd # 创建群组。
groupdel # 删除群组。
# 倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组

groupmod # 修改群组id或群组名
# -g <群组识别码>  设置欲使用的群组识别码
# -n <新群组名称>  设置欲使用的群组名称

Linux系统下文件类型

  • 文件 -
  • 目录 d
  • 链接 l(类似于快捷方式)

文件

文件信息

在这里插入图片描述

第一部分:drwxr-xr-x 共有10个位置

  • 第一个字符指定了文件类型,如果第一个字符是横线,表示是个非目录的文件;如果是d,表示是个目录
  • 后面九个字符,分为三组,表示此文件针对不同用户的权限关系

第二部分:hansun hansun-group

  • 第一个字符串表示文件的拥有者
  • 第二个字符串表示文件所属组

最后:文件大小 & 创建日期 & 名称

文件权限

文件权限

  • r( 2 2 2^2 22)代表只读
  • w( 2 1 2^1 21)代表写
  • x( 2 0 2^0 20)代表可执行
  • -代表空许可,没有任何权限

可用对应数字表示权限

文件针对不同用户的权限关系

文件的归属:

  • 拥有者
  • 属于组 g(和文件属主有相同组ID的所有用户)
  • 其他 o
  • a表示所有用户
# 设置文件对不同用户的权限
# 需要使用root用户

chmod [who] [+ | - | =] [mode] filename
# 操作对象who可以是u、g、o的任一个或他们的组合(不指定则为a)
# 操作符号能是:+添加某个权限\- 取消某个权限\ = 赋予给定权限并取消其他所有权限
# mode所表示的权限可以是r、w、x的任意组合(也可以用数字)
chmod a+r /home/david/ab
# 改变文件拥有者和所属组

chown [选项] [所有者][:[]] 文件
chown mail:mail log2012.log 
# 修改该文件的拥有者为mail群组的mail用户
chown -R -v root:mail test6

# 设置选项
# -R是递归处理该目录及其子目录下的所有文件
# -v是显示处理的详细信息

文件基本命令

  • 查看文件信息

    ls #(—list)# 查看当前目录下文件
    ls -l(ll)# 查看文件详细信息
    ls -t # 按时间显示
    ls -a # 显示隐藏文件
    
  • 创建文件

    touch filename
    vi filename # or vim filename
    # 若文件不存在会创建文件
    
    
  • 追加文件内容

    $ echo "content" >> filename
    
  • 读取文件

    cat /path/filename 
    cat file1 file2     # 依顺序显示file1,file2的内容
    cat file1 file2 > file3      
    # 把file1,file2的内容结合起来,再“重定向(>)”到file3文件中
    
    # 如果一个文本文件太长了超过一个屏幕的画面,可以使用more和less:
    more filename # 使超过一页的文件临时停留在屏幕,等到按任何的一个键以后,才继续显示
    less filename # 除了有more的功能以外,还可以用方向键往上或往下的滚动文件
    
    tail filename # 末尾内容
    # 通常与-f连用,适合于查看服务实时日志动态信息
    head filename # 开头内容
    # 适合查看文件格式,内容模板样式
    
  • 文件复制

    cp fred.txt ethel.txt 
    # 把fred.txt中的内容复制到当前文件夹中名为ethel.txt中
    cp *.txt  /home/sjvn/docs/
    # 复制当前目录下所有以.txt结尾的文件到指定的目录下
    cp fred.txt /home/sjvn/docs/fred.txt
    # 把fred.txt复制到指定文件中
    cp -r /home/sjvn/docs/ /home/sjvn/backup
    # 复制当前目录下所有文件到指定目录下
    
  • 文件移动或重命名

    mv src dest
    # src和dest在同一目录下为重命名
    # src和dest在同一目录下为移动
    
  • 文件删除

    注意:路径最好为绝对路径防止误删!

    rm dir # 删除空目录或文件
    rm -r dir # 递归删除
    rm -rf dir # 递归强制删除(慎重使用)
    
  • 文件搜索

    $ find ~/ -name file
    $ find ~/ -name read\* # 包含此开头
    

目录

Linux的文件系统只有一个文件树,整个文件系统以"/"为起点,所有的文件和外部设备都以文件的形式挂接在这个文件树上

重要的目录

  • /bin /sbin

    存放使用和维护Linux系统的大部分程序

    P.S. /sbin只有root用户可以访问

  • /etc

    这个目录一般用来存放系统级别的配置文件,其中的一些重要文件如: passwd、shadow、fstab、hosts、profile、shells、services等等。

  • /lost+found
    这个目录专门用来放那些在系统非正常关机后重新启动系统时,不知道该放哪里恢复使用的“流浪”文件

  • /boot
    这个目录下面存放着和系统启动有关的各种文件,包括系统的引导程序和系统核心部分

  • /root
    这是系统管理员(root)的主目录

  • /home
    系统中所有用户的主目录都存放在/home中

  • /mnt
    按照约定,像CD-ROM、软盘、U盘,或者磁带这样的可以移动的介质都应该安装在/mnt目录下

  • /tmp /var
    这两个目录用来存放临时文件和经常变动的文件

    其中/var经常作为www主目录存放网站代码

  • /usr
    按照约定,这个目录用来存放与用户相关的程序或文件,这里面也有一个bin和一个sbin子目录

目录基本命令

  • pwd

  • 特殊目录标识符

    .:当前目录

    …:父目录

cd dirName # 切换目录
cd # 进入当前目录
cd ~ # 进入自己的home目录
mkdir # 创建目录
# -p 创建多级目录
rmdir # 删除目录
# -p 联级删除,当子目录被删除后使它也成为空目录的话,则顺便一并删除

连接

ln:为某一个文件在另外一个位置建立一个不同的链接

ln –s file/dir link_name

软链接,它只会在选定的位置上生成一个文件的镜像,不会占用磁盘空间

ln file/dir link_name

硬链接,没有参数-s, 它会在选定的位置上生成一个和源文件大小相同的文件

无论是软链接还是硬链接,文件都保持同步变化

打包、解压缩

打包

在压缩文件之前,一般都需要进行打包

# 打包文件
tar -cvf name.tar *.txt  
# -c create 打包模式
# -f file 指明打包文件名
# 多个文件以空格隔开或者采用通配符

# 解包文件:
tar -xvf name.tar
# -x extract 解包模式

# 一步压缩/解压文件
tar zcvf  * name.tar.gz dir
tar zxvf file.tar.gz -C dir

压缩

打包之后,可以对文件进行压缩;Linux下常用的压缩程序为gzip,也支持普通的zip/unzip

# 压缩文件
gzip file.tar
# 原来的文件会消失  

# 解压文件
gzip -d file.tar.gz
# 原来的文件会消失

# zip压缩文件
zip -r name.zip  要压缩的文件或者目录
# unzip解压文件:
unzip name.zip -d 解压缩的目录位置

VI文本编辑

VI的三种模式

  • 命令行模式(command mode)

    控制屏幕光标的移动,字符、字或行的删除,按i进入到插入模式

  • 插入模式(Insert mode)

    只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式,按:回到底行模式

  • 底行模式(last line mode)

    将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等

VI编辑文件

  • vi /path/filename 编辑文件

  • 基本操作

    i:进入insert(编辑)模式

    Esc:退出编辑

    :+ wq 保存

    !+ q! 不保存

  • 快捷键

    dd:删除光标所在的行的内容,删除从光标开始的3行 3dd

    ZZ:保存文件内容

    x:删除光标所在处字符,如果是删除光标后的3个字符,则是3x;大写的X是删除光标前的字符

    o:在光标的下一行进行插入

    移至上下左右 kjhi

    移至行首和行尾 ^和$

    移至段落开头和结尾 { }

    向前和向后翻屏 Ctrl+f 和 Ctrl+b

    在光标前或者后插入字符 i或a

    复制整行 yy

    复制从光标所在的3行 3yy

    粘贴 p

    取消操作 u

命令行模式操作

底行模式操作

  • w filename 保存当前编辑到filename文件名
  • wq filename 保存到指定文件并退出
  • wq 保存并退出
  • q! 放弃所有修改,直接退出vi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值