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) 编辑 收藏 举报