一、常用命令
-
cat
查看文件内容(从第一行显示到最后一行)
语法: cat 文件名
例如: cat main.c
-
tac
查看文件内容(从最后一行显示到第一行)
语法: tac 文件名
例如: tac main.c
-
head
查看文件信息(显示前面多少行)
语法:
head 文件名 //默认显示最前面的10行信息
head -num 文件名字 //显示文件的最前面几行的信息
例如:
head -7 main.c
-
tail
查看文件信息(显示后面几行)
语法:
tail 文件名 //默认显示最后10行的信息
tail -num 文件名字 //显示文件的最后num行信息
例如:
tail -7 main.c
案例:
1、head -20 main.c > a.txt //将main.c的前20行内容写入到a.txt文件中,如果a.txt文件不存在,会自动创建
2、head -20 main.c | tail -10 //显示head -20 main.c所查看出来的内容中的最后10行
3、tail -3 /etc/passwd //显示/etc/passwd目录下最后3行信息
-
more
查看文件信息
Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读。
按空白键(space)就往下一页显示;
按 b 键就会往回(back)一页显示;
按"Enter键"会逐行显示;
按"q"退出;
语法:
more 文件名
例如:
more main.c
-
man
的使用
通常使用man
来查阅一些命令的帮助信息。
按空格键 ---> 下一页;
按 b 键就会往回(back)---> 上一页;
按PgUp ---> 上一页;
按PgDn --> 下一页;
按q ---> 退出man帮助文档;
如果需要查找某个关键词,和vi操作一样。
语法:
man 命令名称
例如:
man cp
man mv
二、文件编辑
vi命令是Linux操作系统和类Linux操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版。
vi hello.c // 编辑
命令行模式:
按i ---> 进入编辑模式
按shift+g ---> 文件末尾 [大写G]
按g+g ---> 文件头部
按/字符串 ---> 查找功能(查找下一个,按n即可;N: 按照反方向查找[shifht+n])
按d+d ---> 删除一行
编辑模式:
按esc ---> 进入命令模式(即退出编辑)
底行模式(按冒号即进入该模式):
按w ---> 只保存不退出
按wq ---> 保存并退出
按q ---> 退出(在没编辑文件的情况下)
按q! ---> 强制退出(如果修改文件,不想保存时可以强制退出)
按数字(行号) ---> 即跳到对应行中
练习:
1. 在用户目录下创建一个空的文件,注意文件后缀为.c,例如:file.c
2. 在文件中输入以下内容:
#include<stdio.h>
int main()
{
printf("世界你好!\n");
return;
}
3. 保存并退出
vi默认是没有显示行号的,如何设置显示行号?
使用vi编辑~/.vimrc文件(即vi ~/.vimrc),在该文件中加入一行set nu
三、文件权限
- 文件权限查看
语法: ls -l
权限 个数 文件所属用户 文件所属用户组 大小 修改时间 名字
drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Desktop
drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Documents
drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Downloads
drwxrwxr-x. 3 linux linux 4096 Jul 17 01:12 hehe
-rw-rw-r--. 1 linux linux 132 Jul 17 20:32 hello.c
-rw-rw-r--. 1 linux linux 863 Jul 17 19:51 main.c
drwxr-xr-x. 3 linux linux 4096 Jul 17 01:34 Music
drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Pictures
drwxr-xr-x. 2 linux linux 4096 Jul 17 01:35 Public
drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Templates
drwxrwxr-x. 2 linux linux 4096 Jul 16 21:35 tmp
drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Videos
drwxr-xr-x. 7 linux linux 4096 Mar 21 2014 vmware-tools-distrib
- 文件类型
普通文件 -
目录文件 d
字符设备文件 c
块设备文件 b
管道文件 p
网络文件 s
链接文件 l
Linux中一切皆文件!
- 文件权限
r:读权限 ---> 4
w:写权限 ---> 2
x:可执行权限 ---> 1
例如: drwxr-xr-x. 2 linux linux 4096 Jul 16 21:26 Videos
// 三位表示一组权限
|------>文件所属者的用户权限
| |----->同组用户
| | |----->其他用户
rwx r-x r-x a.txt
- 权限修改
语法:
chmod 权限 文件名 // 单个文件操作
chmod -R 权限 文件名 // 文件夹内所有文件以及目录
例如:
rw- rw- r-- a.txt
chmod 764 a.txt //将a.txt这个文件的拥有者的权限改为可读可写可执行,其他权限不变
chmod 744 a.txt //将a.txt这个文件的同组用户的权限改为只可读,其他不变
其他操作(不通过数字的方式来实现):
chmod +x hello.c //将hello.c增加一个可执行的权限
chmod -x hello.c //将hello.c的可执行权限去掉
-
su
超级用户权限
在某些情况下,操作时权限不够,就可以可以切换到超级用户root
,即有超级用户权限。
su // 输入密码后,即进入`root`的用户
su 用户名 // 切换到其他用户下(即退出超级用户)
获取超级用户权限(一般情况下不建议使用,避免删错东西,切记!!!)
[linux@localhost ~]$ su
Password:
[root@localhost linux]#
- 关于
sudo
设置
如果想要获取更高的操作权限,建议在使用sudo
,即在操作命令的前面添加上。
sudo chmod 777 hello
一直使用root用户是危险的,最好在普通用户下进行工作。但有些操作必须要root权限才可以执行,如何让普通用户拥有root权限,就是通过sudo,但还不能直接使用sudo,需要进行相关的配置,配置好之后,sudo即可以使用了(只需要配置一次即可)
1、su获取到超级用户权限
2、vi /etc/sudoers // 配置文件
3、在文件中找到root ALL=(ALL) ALL
// 通过搜索
加入一行:xxx ALL=(ALL) ALL
// xxx即自己的用户名
4、退出超级用户
su 用户名
5、检验是否成功
在/opt目录下创建一个hello.txt
文件;
如果创建成功,说明sudo配置完成
四、搜索相关
-
find
根据文件的属性进行文件查找
语法:
find 路径 -文件属性
例如1:
find . -name "hello.c" // 在当前目录中搜索查找hello.c文件
find / -name "*.log" // 从整个磁盘上去搜索查找所有的.log文件
find /etc -name "passwd" //在/etc目录下去搜索查找passwd文件
例如2:
find / -amin -10 //在整个磁盘上去查找最后10分钟访问过的文件
find / -atime -1 //在整个磁盘上去查找最近1天访问过的文件
find / -empty //在整个磁盘上去查找所有的空文件或空文件夹
例如3:
find / -size +5k //在整个磁盘上查找文件大小大于5k的所有文件
find / -size -5k //在整个磁盘上查找文件大小小于5k的所有文件
-
grep
文本搜索/过滤
语法:
grep 搜索的字符串
grep -n 搜索的字符串 // -n参数及顺便输出行号
例如:
cat main.c | grep -n "cp"
ps -a | grep "hello
ls -l | grep "hello"
案例:
1、在Windows中,创建一个content.txt文件
2、将本文内容黏贴到content.txt文件 (ctrl+A)
3、将content.txt文件传输到Linux中用户目录下的Test目录
4、在Linux中,将Test目录中content.txt拷贝到/var/opt目录下
5、通过grep
命令,找到ps
所在位置对应的行号,并输出到用户目录下的Test目录的temp.txt文件中
6、使用vi编辑器,通过temp.txt文件显示的行号定位到对应行,将所有ps
改为PS
vi中全部替换语法:
五、进程相关
-
ps
进程查看命令
ps
非常强大的进程查看命令,是最常用的是用于监控后台进程的工作情况。
语法:
ps -a // 显示现行终端机下的所有程序,包括其他用户的程序
效果演示:
1、创建一个文件hello.c,并在文件中输入一下内容
#include<stdio.h>
int main()
{
printf("hello world!\n");
while(1);
return ;
}
2、编译生成可执行文件
gcc -o hello hello.c
3、运行可执行文件
./hello
4、ps查看进程,找到对应hello对应的PID
6082 pts/3 00:00:07 hello
即hello对应的进程号为6082
5、结束对应的进程
kill 6082
进程号PID是由系统分配的,并且PID是进程的唯一标识!!
top
性能查看
通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
按q ---> 退出。kill杀死进程
语法:
kill 进程号
例如:
kill 6006