Linux命令基础——常用命令

在学习Linux命令基础总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

08-linux-day01(常用命令)

目录:
一、学习目标
二、常用命令
1、ls命令和相对路径绝对路径
2、目录相关操作
3、文件相关操作
4、文件内容查看
5、统计相关信息
6、文件权限位和软硬链接
7、删除软硬链接
8、修改文件的用户和组
9、查找和检索:find_grep_xargs
10、grep补充
11、zip与tar压缩文件
12、rar压缩
13、虚拟机网络配置
14、软件安装和卸载——3种
15、其他常用命令
16、补码和关机

 

一、学习目标

(1)说出Linux下的目录结构和常见目录的作用

(2)熟练使用Linux下的相对路径和绝对路径

(3)熟练使用Linux下常用文件和目录操作相关的命令

(4)熟练使用修改用户权限、用户和用户组相关的命令

(5)熟练使用find命令相关参数进行文件查找

(6)熟练使用grep命令根据文件内容进行文件的查找

(7)熟练使用压缩工具完成文件或目录的压缩解压缩

(8)熟练掌握Ubuntu下的软件安装和卸载

 


学习环境:

虚拟机系统:Ubuntu140401
WangUbuntu登录密码:root
用户名:wang 密码:root
用户名:root 密码:wang

Ubuntu终端 复制粘贴?

一般windows在dos下要复制粘贴命令,会采取:
Ctrl + c, Ctrl + v 或者 鼠标左键复制,右键粘贴
但是,在Ubuntu终端下是行不通的,需要采取:
(1)Ctrl + Shift +c,Ctrl + Shift + v
(2)直接鼠标左键选中要复制的命令,然后在需要粘贴的地方按一下鼠标滚轮


 

二、常用命令


远程连接Linux:SecureCRT

SecureCRT安装及下载

SecureCRT8.3 下载、安装参看https://blog.csdn.net/qq_39052513/article/details/100272502

》破解参看https://blog.csdn.net/Winnycatty/article/details/82899665

注意:安装玩软件之后先不要打开xSz软件,打开软件破解容易失败!

》连接:打开以后进入主界面 先点击 Connect,然后点击 Quick Connect,快速建立新的连接。接下来默认登录模式是SSH2,根据自己需求选择,然后填写你自己虚拟机的IP Hostname和登录的用户名 Username ,我的虚拟机是密码登录,所以我选择 Password ,然后点击 Connect 连接 。

连接查看:https://blog.csdn.net/qq_39052513/article/details/104692026

Issue汇总:

(1)Issue描述:不存在用户名

解决:安装SSH,一般机器都是不安装的。

测试SSH  Ubuntu上》ssh localhost@localhost
>>出现了:::ssh: connect to host localhost port 22: Connection refused  说明你的机器没装SSH,接着装吧
  打开Ubuntu的终端,输入:
  sudo apt-get install openssh-server
安装完毕后ssh默认已启动。可以使用下述命令查看是否有进程在22端口上监听,即是否已启动:
  netstat -nat | grep 22

(2)Issue描述:一直报错密码不正确

解决:1)检查下你的机器window(宿主机)的桥接有没有禁用,有些特殊情况下机器会禁用。我的是禁用模式,所以在网络连接中“VMware NetWork Adapter VMnet1”右键更改为“启动”。

2)进入到Ubuntu下,先查看Ubuntu虚拟机的IP配置,打开终端(Ctrl+Alt+T),通过ifconfig命令查看,可以看到Ubuntu下的IP地址信息。回到window win+R-->cmd--ipcong 查看你的电脑的ip,先分别在Windows上ipconfig和Ubuntu上ifconfig下 互ping一下,如果我们的环境是一个样的话,应该是没有问题的。有些教程说把虚拟机的链接方式 改成NAT然而我改了互相ping不同了,所以改回来了桥接模式(直接连接物理网络)。要互相ping通了才能下一步哈

》如果还是不成功可以试着关闭防火墙

如果连接不了,则我们需要关闭掉防火墙

 关闭掉防火墙  sudo ufw disable

(3)Issue描述:连接报错:The server has disconnected with an error.  Server message reads:
A protocol error occurred. Change of username or service not allowed: (root,ssh-connection) -> (WangUbuntu,ssh-connection)

解决:用户名错误,在Ubuntu中输入:users 查看用户名(因为之前一直使用root连接!!!);然后重新连接,(输入 username:wang,用密码连接后输入密码:root)成功!

1 Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic i686)
2 
3  * Documentation:  https://help.ubuntu.com/
4 
5 Last login: Sat Jun 27 17:41:15 2020 from 192.168.5.103
6 wang@ubuntu:~$

参考:Linux公社https://www.linuxidc.com/Linux/2016-12/138786.htm


shell:(Linux中查看:cat /etc/shells)

 

1、ls命令和相对路径绝对路径

Tab键命令或目录补全!

(1)history查看历史命令——可以方向键上下查看之前的命令

(2)根目录 /

/bin 可执行文件所在目录

/media 挂载设备媒体,U盘,光驱等

/mnt 该目录是为了让用户挂载别的文件系统

/usr(unix system resources) 庞大和复杂的目录,很多应用会安装到此目录

/usr/local 用户自己安装软件的目录

/sbin 超级管理员root的可执行文件目录(如:ifconfig)

/proc 这个目录是系统内存的映射,会保留进程的一些信息

/etc 系统软件的启动和配置目录

  /etc/passwd 用户存放文件 man 5 passwd 查看文件格式

/dev 设备文件所在目录

Linux一切皆文件!

/home/user 用户家目录

(3)ls(list)查看文件信息

  ls -l ——>显示详细信息

  ls -a ——>显示隐藏的文件或目录

  ls -R——>递归显示子目录的内容

  ls -lrt——>按照时间排序

 (4)通配符*和?

  *——代表任意多个字符(如:ls *.c)

  ?——代表任意一个字符(如:ls func.?)

(5)相对路径与绝对路径

  -以“/”开头的路径为绝对路径

  -不是以“/”开头的路径为相对路径

 

2、目录相关操作

(1)cd(change dir)更改目录

wang@ubuntu:~/linux$

  -wang 代表用户

  -ubuntu代表机器名

  -~代表家目录

  -~/linux当前所在目录

  -$代表普通用户

  -root@ubuntu:/home/wang# 管理员对应的#

(2)回到家目录的方式(四种):

  -cd

  -cd ~

  -$HOME环境变量代表家目录

  -cd /home/wang

(3)显示当前工作目录:pwd

(4)tree命令,如果不存在,需要安装!

sudo apt-get install tree

(5)mkdir 创建目录

mkdir [option] dimame1 dimame2 ...

-p——>递归创建目录

(6)rmdir 删除目录

rmdir不能删除非空目录,非空目录(目录下只有.和..)

-p——>递归删除目录(但是,必须写全,而且dd下只能有aa,且aa为空,如:rmdir -p dd/aa/)

(7)which命令 显示对应的命令所在的路径

如:which ls——>/bin/ls

(8)注意:cd不在任何一个目录,是shell自身的命令!

 

3、文件相关操作

(1)touch命令,创建文件,文件名如果不存在则创建,如果存在,更改访问时间

touch [option] filename1 filename2 ...

(2)rm命令 删除文件或目录

  - -r 递归删除子目录

  - rm -rf* 删除当前目录内全部内容(强制删除,慎用!

(3)cp(copy)拷贝文件或者目录

cp [option] srcpath despath

  -despath 是一个目录,将srcpath拷贝到despath目录下

  -despath 不是一个目录,在despath上级目录(.../xxx),在.../下创建一个xxx文件,并将srcpath的内容拷贝进来

注意:拷贝目录的时候考虑最底层的目录是否存在!

(4)mv(move)移动文件或者目录(剪切)

注意:移动目录的时候考虑最底层的目录是否存在!不存在,是改名字!

 

4、文件内容查看

(1)cat命令——适合小文件

cat filename——直接显示文件信息到屏幕

(2)more和less,分屏显示文件信息——适合大文件和日志

more

  -回车,逐行显示

  -空格,一页一页显示

less

  -回车或者上下方向键可以反复查看文件内容

(3)head和tail

  -head 查看文件头,默认显示10行内容

    -head -n可以指定显示的行数(如:head -n 5 stdio.h,显示stidio.h前5行内容)

  -tail 查看文件尾,默认显示10行内容——主要用来看日志

    -tail -n可以指定显示的行数

    -tail -f 可以一直跟踪文件末尾

 

5、统计相关信息

(1) wc(world count)统计文件内容

  -wc -l 行数

  -wc -w 单词数

  -wc -c 字节数

 (2)du 查看目录占用空间

  -du -h以KB显示占用空间

  -du -h --max-depth=1显示一级目录占用空间

 (3)df(disk free)显示磁盘空间信息

  -df -h以人可看的形式显示出磁盘空间信息

 

6、文件权限位和软硬链接

(1)ls -lrt显示的命令解释

drwxr-xr-x 2 wang wang 4096 Apr  5 12:24 Desktop
drwxr-xr-x 4 wang wang 4096 Apr  9 11:30 Documents

文件权限标志位,硬链接计数,用户,用户组,大小,日期,目录/文件名

root 独立于各个组!

  drwxr-xr-x(第一个字母:文件类型,-普通文件,d目录文件,l符号连接,b块设备,c字符设备,p(pipe)管道设备,s本地套接字(网络编程))

      (第2-4字母rwx:归属用户的权限)

      (第5-7字母rwx:归属组的权限)

      (第8-10字母rwx:其他用户的权限)

  r--可读;-w-可写;--x可执行(如果对应位置无权限,写-)

  权限位数字表示法(8进制数):

  如:rwx 111——>7 用户权限位

    r-x 101——>5 组权限位

    r-x 101——>5 其他用户权限位

  三个数连起来前面+0:0755

(2)ln命令:建立软硬链接

  -注意与cp命令的区别

  -创建硬链接(ln src des)(指向同一块磁盘的内存)

  -创建软链接(ln -s src des),目录也可以创建软链接(相当于创建了快捷方式)

 

7、删除软硬链接

(1)unlink 删除硬链接

硬链接计数为0时,文件被删除

 

8、修改文件的用户和组

(1) chmode改变文件权限

  chmod [u/g/o/a] [+/-] [r/w/x] filename

  -用数字的方式改变文件权限

  -给a.out用户可读可写,组可读可写,其他用户可读:chmod 0664 a.out

  -注意:目录需要有可执行权限,才能进入目录  

(2)whoami 查看用户

(3)chown与chgrp改变用户和改变组

  -用法如下:(注意:需要用管理员root去修改文件归属

  chown 用户:组 文件名/目录(chown包含chgrp指令了)

  chgrp 组 文件名/目录

 

9、查找和检索:find_grep_xargs

(1)find

  格式:find dir [option] 内容

    -name 按照名字查找(如:find ./ -name "*.c")

    -type按照类型查找(如:find ./ -type f);注意:f为普通文件

    -size按照大小查找(如:find ./ -size +1M)

      大于1M小于5M(如:find ./ -size +1M -size +5M)

      注意:不加+/-,是等于,但是不精确,不到1M的按1M处理

      问题:文件小于1M,find ./ -size -1M显示小于1M的没有?怎么回事?不到1M的按1M处理

      注意:k是小写的!

       -maxdepth最深路径,如:只看当前路径下的:find ./ -maxdepth 1 size +1M

        -想看当前目录下的详细内容:find ./ -maxdepth 2 -size +1M -exec ls -l {} \;

        -想看当前目录下的详细内容:find ./ -maxdepth 2 -size +1M -ok ls -l {} \; 相对安全模式,每一条指令都提示

        -想看当前目录下的详细内容:find ./ -type f|xargs ls -l(安全,可以避免溢出)

    xargs find命令的好伴侣——xargs将find命令查找的结果分成若干块输出给后面的指令

(2)grep命令——内容过滤

  和find结合使用,对find查找的文件过滤(如:find ./ -type f|grep txt)

  grep -rn "main" *.c——查找当前目录下所有.c中包含main的内容,-rn显示行数

  cat a.c | grep main——把cat得到的内容用grep过滤

  tail -f tcpsvr.1705 | grep connect——和tail结合查看日志文件tcpsvr.1705最近一次连接

  grep -v main a.c——除了main所在的行,其他行全部显示

 

10、grep补充

格式:grep [option] 内容 dir|filename

-r递归子目录

-n显示行号

 

11、zip与tar压缩文件

(1)zip压缩——.zip格式

  zip -r 压缩包名字.zip 压缩的文件1 压缩的文件2...——递归压缩子目录

  unzip 压缩包名字——解压到当前的文件夹

(2)gzip与gunzip压缩——.gz格式

  缺点:只能操作目录,所以一般不用!

(3)tar压缩——.tar.gz格式

  最常用的打包工具!

  tar zcvf bb.tar.gz bb aa——把bb aa压缩为bb.tar.gz(-z gz格式压缩;-c压缩文件;-v显示信息;-f指定压缩包)

  tar zxvf bb.tar.gz——把bb.tar.gz解压缩(-x 解压缩)

  ——.tar.bzip2格式

  tar jcvf bb.tar.bzip2 bb aa——把bb aa压缩为bb.tar.bzip2(-j 使用bzip2压缩)

  tar jxvf bb.tar.bzip2——把bb.tar.bzip2解压缩

 

12、rar压缩——.rar格式

   rar a -r b bb——把bb压缩为b.rar(a代表压缩;-r 递归子目录;压缩包名字b可以无后缀)

  rar x b.rar——把b.rar解压缩(x 解压缩)

 

13、虚拟机网络配置

安装完虚拟机VMware,在Windows网络的适配器设置中,默认得到两块网卡:VMnet1和VMnet8

桥接模式:虚拟机相当于另外一台电脑,和本地连接同一个IP段(如:我Windows是192.168.5.1,Ubuntu是192.168.5.101,都处于5网段)

  NAT模式:本地主机通过VMNET8 网卡连接到虚拟机,要求VMNET8网卡与虚拟机IP同一网段

 

》使用SecureCRT远程连接

参看本博客第二部分。

 

14、软件安装和卸载——3种

(1)apt-get自动按照软件,需要知道软件名称(需要联网!

sudo apt-get update 更新源 实际就是更新这个文件:/etc/apt/sourves.list

sudo apt-get install tree 安装tree

sudo apt-get remove tree卸载tree

(2)dpkg根据deb安装包来安装软件(下载安装的包是.deb结尾的)

sudo dpkg -i xxx.deb安装软件包xxx

sudo dpkg -r xxx.deb移除软件xxx

(3)源码安装

1)解压缩源代码包

2)cd dir

3)./configure检测文件是否缺失,创建Makefile,检测编译环境

4)make编译源码,生成库和可执行程序

5)sudo make install 把库和可执行程序,安装到系统路径下

6)sudo make distclean删除和卸载软件

 

15、其他常用命令

》用户管理

(1)创建用户:(-s指定shell;-g指定组;-d用户家目录;-m家目录不存在时,自动创建)

    如:sudo useradd -s /bin/bash -g wang -d /home/wang -m wang

(2)创建组:sudo groupadd wang增加wang用户组

(3)设置密码:sudo passwd wang

(4)切换用户:su wang——切换到wang用户

      su - wang——切换到wang用户,带有环境变量

(5)root用户:sudo su

(6)删除用户:sudo userdel wang删除用户wang

    sudo userdel -r wang 删除用户wang连带删除家目录

》其他常用命令

(1)echo输出变量或者字符串

(2)date +'%Y%m%d'——>输出:20200628

(3)alias 配置命令,命令重命名

  查看重命名(这些都在.bashrc文件中存放)

  如:alias grep——>输出:alias grep='grep --color=auto'

(4)man 查看帮助手册

 

16、补码和关机

(1)umask——文件权限补码(显示8进制文件掩码)

 umask -S ——>u=rwx,g=rwx,o=rx(-S文字表示法显示对应的补码权限)


umask是怎么回事???

这是Linux中的umask函数

我们创建bai文件的默认权限是怎么du来的?如何改变这个默认权限呢?

umask是什么?

当我们dao登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

如何计算umask值?
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7。

该命令的一般形式为:umask nnn
其中nnn为umask置000 - 777。

我们只要记住u m a s k是从权限中“拿走”相应的位即可。下表是umask值与权限的对照表:
umask 文件 目录
--------------------
0 6 7
1 6 6
2 4 5
3 4 4
4 2 3
5 2 2
6 0 1
7 0 0
--------------------

如:umask值为022,则默认目录权限为755,默认文件权限为644。


 

(2)关机重启(需要root权限)

  立即关机:shutdown -h now

  init 0:关机

  poweroff:关机

  reboot:重启

 

 

在学习Linux命令基础总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。

posted on 2020-06-27 13:30  Alliswell_WP  阅读(252)  评论(0编辑  收藏  举报

导航