目录
第十四个命令:根据端口号查询进程 netstat -anp | grep +端口号
netstat -p或者-p或netstat -programs
第十五个命令:根据名称查询进程:ps aux | grep +进程名称
在了解基本命令之前,先看几个命令行当中的内容:
其中,最左边的root是当前的用户名,@代表分隔符,后面的一长串代表的是主机的名称。
主机当中的命令行:
root:代表当前用户;
VW-8-8-centos:代表主机名;
~:表示当前目录为home目录;
Linux基本命令
命令1:ls
列出当前目录当中包含的文件和目录(ls的含义就是list)
此外,还可以在ls后面还可以跟上一个具体的路径,表示想要访问的路径下面有哪些资源
ls /usr/lib(ls+目录名称)
ls /
其中:/代表的是Linux上的特殊目录,被称为"根目录"。在这里,可以看到类似于windows的"我的电脑"上面的所有内容
ls -l (小写的l)或者 ll
以列表的方式来列举当前目录下面的所有的内容。
第二个命令:pwd
用于显示当前的用户在哪个目录下面。
由于创建的目录过多,用户难以了解自己所在哪一个目录,pwd返回的目录必须是绝对路径。
绝对路径,在windows上面就是以盘符开始的路径(例如:D:\untitled4\src)
但是,在Linux当中,没有磁盘的概念,因此也就是从最高一级的目录:"/"开始的路径
第三个命令:cd+目录名称
也就是把用户切换到某一个指定的路径下面。
cd后面既可以跟着绝对路径,又可以跟着相对路径。
cd+绝对路径
例如一个路径是:/usr/lib
那么,使用cd命令,可以使用 cd /usr/lib到达这个目录
cd+相对路径
也可以使用 cd /lib到达这个目录。
cd ..
返回当前目录的上一级目录。
第四个命令:touch+文件名称
touch的含义是在当前目录下面创建一个空的文件。
例如:touch hello.txt
就是在当前的目录下面创建一个文件,文件的名称是hello.txt。
第五个命令:cat +想要打开的文件
cat的含义是打开一个文件。显示当前文件的内容
由于hello.txt当中只有一个hello字符串,因此就显示这个字符串。
第六个命令:echo
echo是打印内容到控制台,也可以用于写文件。
echo +字符串
这一个命令的含义就是把字符串输入到控制台。例如:echo 'hello',就相当于把'hello'这个字符串给输入到控制台当中。
echo +字符串>已经存在的文件
就是把字符串写入到指定的文件当中
如果多次执行echo '字符串' >hello.txt
那么就会以最后一次写入的为标准。也就是相当于每执行一次echo命令写入字符串,相当于刷新一次文件。
第七个命令:mkdir + 新建目录名称
mkdir+目录名称。
含义就代表在当前的目录下面再创建一个目录。
然后选择进入到这一个目录当中,并且在这个目录里面新建文件了
tree命令
如果连续使用多次mkdir创建目录,那么就会创建出很多级的目录,这样我们就难以分清目录的结构了,于是就可以通过tree命令来查看目录的结构了。
但是一输入tree 发现了报错
这是什么原因呢?
tree命令不属于Linux自带的命令,是属于第三方提供的命令,要单独下载安装
怎样下载安装呢?需要通过yum install tree这一个命令从网上下载下来tree命令
yum install这个命令相当于访问一个类似于"应用商城"的库。可以从这个地方下载各种第三方的库。
下载完成之后,再次输入tree
第八个命令:rm +文件名称
rm 命令既可以删除文件,也可以删除一个目录。删除的方式为: rm +文件名称/目录名称。
rm-r + 目录名称
rm指令不可以直接删除一个目录,但是可以直接删除一个文件。因此,如果要删除一个目录,就需要使用rm-r这一个命令。
-r代表的是"递归",一个目录里面可以有文件,也可以有其他的目录。是一个树形的结构,因此需要采用递归的方式来删除
rm-rf +/ +目录名称
也是删除指定的目录,但是可以跳过这一个提示。
需要注意的是:千万不要直接在命令行输入:rm-rf / 或则 rm-r /*。
因为"/"代表的是整个Linux的根目录,相当于删除了Linux的整个系统(前者代表删除所有的目录,后者代表删除根目录以外的其他所有目录),当前这个云服务器相当于恢复出厂设置。
第九个命令:cp+待复制的文件名称+复制的新路径
例如:cp hello.c /lib
含义就是:不删除hello.c文件,把它复制到 /lib的目录下面。
cp不可以拷贝目录,如果想拷贝目录,就需要改成:
cp-r +待复制的目录名称+复制的新路径
第十个命令:mv+需要移动的文件+指定的目录
mv的第一个功能:移动目录/文件
mv的含义是移动文件到达指定的目录。
用法:mv +想要移动的文件 +目标路径
mv可以直接移动目录或者文件
cp直接只能拷贝文件,如果cp想要拷贝目录,那么就要变成:cp-r
mv的第二个功能:给文件/目录重命名
第十一个命令: man ls
查看各种命令的含义的指令
看完之后,如果想退出,只需要直接输入q就可以了。
第十二个命令:less+文件名称
这一个命令就是:让打开的文件是可分页式地查看。
相比于cat,less新增了分页的功能。
第十三个命令:vim+文件名称
对于vim的使用,主要是以下的三个步骤:
1、使用vim创建/打开文件:
例如vim hello.txt
件如果存在,那么就是直接打开。如果不存在,那么就创建一个文件
2、使用vim编辑文件的内容——输入"i"
当使用vim+文件名称之后,此时默认只是进入了普通模式,不可以编辑文本。
如果想要编辑文本,那么就需要进入插入模式。
如果想进行编辑,那么就直接在键盘内输入:"i",就进入了插入模式。
3、保存编辑,并且退出
编辑完成之后,首先按下esc键(退出插入模式)
然后在键盘上输入:(冒号)
然后会看到跳到了最后一行。接着输入wq,就成功保存并且退出了。
ps:
如果文件没有改变文本,输入:q是可以直接退出的。如果文件已经改变了,再输入:q就会报错。
:x和:q是同一个道理。
为什么不用vim来查看日志?
第一个原因:日志一般不需要进行编辑;
第二个原因:日志一般内容都比较多,使用vim并没有带有分页的功能。一次查看内容太多,容易造成服务器的宕机
第十四个命令:根据端口号查询进程 netstat -anp | grep +端口号
查看这个端口被哪个进程所占用。
补充:
netstat -a或者netstat -all
显示所有连接当中的socket。
netstat -n或者netstat -numeric
直接使用的IP地址。
netstat -p或者-p或netstat -programs
显示正在使用Socket的进程ID和程序名称
第十五个命令:根据名称查询进程:ps aux | grep +进程名称
- -A 列出所有的进程;
- -au 显示详细信息;
- -aux 显示所有包含其他使用者的进程;
第十六个命令: head+文件/tail +文件
head+文件:查看文件的前十行。
tail命令:查看文件的后十行;
第十七个命令:find+文件名称
用于在指定的目录下面查找文件的名称:返回一个文件。
第十八个命令:grep +字符串内容+文件名称
用于查找文件中是否包含指定字符串, 并显示对应的行.
第十九个命令:lsof+文件名称
lsof是List Open File的缩写,用于查看进程打开的文件。
这个文件,可以是以下的内容:
- 普通文件
- 目录
- 网络文件系统的文件
- 字符或设备文件
- (函数)共享库
- 管道,命名管道
- 符号链接
- 网络文件(例如:NFS file、网络socket,unix域名socket)
- 还有其它类型的文件,等等
Linux权限管理(了解)
为了划定各个开发人员对于各种操作的控制范围,因此就有了权限的概念。下面,具体看一下Linux有哪些权限。
这一部分的内容,描述的就是文件/目录的权限。
从左往右数:第一个字母:
"-"表示一个普通的文件;"d"表示目录文件,和权限无关;
第一个字母往后的部分,是9个英文字母,分为了3组,每一组是3个字母
在每一组当中:
r:表示可读
w:表示可写
x:表示可执行
-:表示没有对应的权限
在上面的3行数据当中,以第一行为例:
前三个字母(rw-):代表的是文件拥有者的权限:可读,可写,不可执行
中间三个字母(r--):代表的是同组用户的权限:可读,不可写,不可执行
末尾三个字母(r-x-):代表的是其他用户的权限:可读,不可写,不可执行。