1、打开VirBox:
2、启动linuxx虚拟机:
3、输入用户名:
4、点击Application中的Terminals这进入CMD命令(也可以使用快捷键:打开终端,快捷键为ctrl+alt+T):
特别提示:如果以下操作出现(Permission denied),不要慌,意思是你没有操作权限,可以切换到root 用户下使用超级管理员命令;或者每次使用命令是加上 sudo ;比如 $ sudo mkdir path
5、输入:ls或ll命令,打开当前目录下的所有目录:
6、使用cd:切换命令,进入Desktop桌面文件夹中:$ cd Desktop
7、使用ls命令查看Desktop文件夹下的存在文件:$ ls
8、使用mkdir 命令创建一个新的文件夹(这里我却明为baiqingyu):$ mkdir BaiQingYu 在使用 ls 命令查看是否创建成功
9、使用 cd BaiQingYu 命令 进入BaiQingYu 文件夹;
使用touch 命令 创建文件(这里我命名为123.txt):$ touch 123.txt 然后使用 ls 命令查看是否创建成功:
10、使用文件编辑命令:vi 或者 vim (推荐使用VIM) 编辑123.txt 文件:$ vim 123.txt
11、输入文件内容,然后按照:1.ESC--2.SHIFT + : --3.wq! 键盘命令,保存并退出
12、使用 tail -n 5 123.txt 查询123.txt最后5行命令:
13、使用 head -n 5 123.txt 查询123.txt文件前5行内容
14、使用 tail -n +10 123.txt 查询除前10之外的所有内容
15、使用 head -n -10 123.txt 查询除最后10 以后的所有内容
16、使用 tail -f 123.txt 实时监控123.txt文章; 使用 tail -5 123.txt 实时监控5行内容;
使用 Ctrl + c, 或者 Ctrl + z退出实时查看日志命令
17、使用 grep 'error' 123.txt显示123.txt中的所有 ’error' 关键字查询
18、使用grep -c 'error' 123.txt 显示123.txt中的error 有多少行
19、使用 grep 'error' 123.txt|head -3 显示123.txt前3行的内容
20、使用 grep -n 'error' 123.txt| head -5 把所在行数也显示出来
21、使用 grep -n -i 'error' 123.txt 忽略error大小
22、使用 grep -n -v 'error' 123.txt 将不包含‘error'关键字的内容显示出来,--取逆
23、使用cat -n 123.txt |grep "ashd" 得到关键日志(ashd)的行号
24、使用cat -n 123.txt |head -n 15 |tail -n 6显示关键字前后3行
27、根据日期查询:使用 sed -n '/2019-06-23 16:17:20/,/2019-06-23 16:17:36/p' 123.txt 特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;先 grep '2019-06-23 16:17:20' 123.txt 来确定日志中是否有该 时间点; 这里由于我的日志已即文件中没有暂时不做演示;
28、日志内容特别多,打印在屏幕上不方便查看可以使用:
(1)使用more和less命令,
如: cat -n 123.txt |grep "debug" |more 这样就分页打印了,通过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
如:cat -n 123.txt|grep "debug" >debug.txt
29、使用clear 命令:$clear 进行清屏
30、使用 find . -name '*xx*' (范路明翰)查找当前路径下包含xx的所有文件,
31、使用mv 修改文件名:$ mv oldname newname 这里将123.txt重命名为234.txt
32、修改并隐藏文件名:$ mv oldname .newname(即在新文件名称前加一个点)$ mv 234.txt .345.txt
33、使用 ls -a 显示出隐藏的文件$ ls -a
34、将隐藏的文件取消隐藏:$ mv .345.txt 345.txt
35、使用cp file1 file2命令备份文件$ cp 345.txt 123.txt(这里我讲345.txt 备份为123.txt)
36、将文件备份到另外一个文件夹中,特别提示:如果linux系统中不存在该文件夹必须先创建件文件夹(mkdir path,在通过
cp file1 path/file2 进行备份
37、使用 -r 将文件夹一起备份 $ cp -r
38、使用 cd .. 从当前文件夹中退出; 使用 cd ../.. c从当前文件夹中退出再退出 ; 使用 cd 回到根目录
39、使用pwd 显示出当前路径
40、使用rm 删除文件或文件夹:$ rm -r 文件夹 (功能:递归删除文件夹)
rm 文件名 (功能:删除文件) 提示:是否删除文件,输入yes;
rm * (功能:删除该路径下的所有文件)
rm -f 文件名 (功能:删除文件,不再询问是否删除)
rm -rf 文件或者目录 (功能:删除文件获得递归删除目录,最常用)
41、使用 ps -ef 查看进程$ ps -ef 也可以使用 ps -aux(功能相同)
42、使用kill 杀死进程:此时如果我想杀了火狐的进程就在终端输入:$ kill -s 9 1827 其中-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程。各个终止信号及其作用见附录。1827则是上面ps查到的火狐的PID。
43、把ps的查询结果通过管道给grep查找包含特定字符串的进程。管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入:$ ps -ef | grep firefox 这里用到了关键字查询命令,可以准确知道所在进程的pid ;
然后使用:$kill -s 9 1827
当然:$killall -9 firefox 或 者 使用 $ pgrep firefox 都是可以的
44、使用 ss -tnlp查询出端口
使用ss
一般用于转储套接字统计信息。它能够输出类似于 netstat
输出的信息,但它可以比其它工具显示更多的 TCP 信息和状态信息。它还可以显示所有类型的套接字统计信息,包括 PACKET、TCP、UDP、DCCP、RAW、Unix 域等。
# ss -tnlp | grep ssh
LISTEN 0 128 *:22 *:* users:(("sshd",pid=997,fd=3))
LISTEN 0 128 :::22 :::* users:(("sshd",pid=997,fd=4))
也可以使用端口号来查询:
# ss -tnlp | grep ":22"
LISTEN 0 128 *:22 *:* users:(("sshd",pid=997,fd=3))
LISTEN 0 128 :::22 :::* users:(("sshd",pid=997,fd=4))
45、使用netstat -tnlp 查询端口
netstat
能够显示网络连接、路由表、接口统计信息、伪装连接以及多播成员。默认情况下,netstat
会列出打开的套接字。如果不指定任何地址族,则会显示所有已配置地址族的活动套接字。但 netstat
已经过时了,一般会使用 ss
来替代。
# netstat -tnlp | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 997/sshd
tcp6 0 0 :::22 :::* LISTEN 997/sshd
或者使用端口号来查询:
# netstat -tnlp | grep ":22"
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1208/sshd
tcp6 0 0 :::22 :::* LISTEN 1208/sshd
大部分情况下,以上的输出不会显示进程的实际端口号。这时更建议使用以下这个 journalctl
命令检查日志文件中的详细信息。$ journalctl
$ journalctl | grep -i "openssh\|sshd"
Sep 23 02:08:56 vps138235.vps.ovh.ca sshd[997]: Received signal 15; terminating.
Sep 23 02:08:56 vps138235.vps.ovh.ca systemd[1]: Stopping OpenSSH server daemon...
Sep 23 02:08:56 vps138235.vps.ovh.ca systemd[1]: Starting OpenSSH server daemon...
Sep 23 02:08:56 vps138235.vps.ovh.ca sshd[11584]: Server listening on 0.0.0.0 port 22.
Sep 23 02:08:56 vps138235.vps.ovh.ca sshd[11584]: Server listening on :: port 22.
Sep 23 02:08:56 vps138235.vps.ovh.ca systemd[1]: Started OpenSSH server daemon.
46、使用nmap命令
nmap
(“Network Mapper”)是一款用于网络检测和安全审计的开源工具。它最初用于对大型网络进行快速扫描,但它对于单个主机的扫描也有很好的表现。
nmap
使用原始 IP 数据包来确定网络上可用的主机,这些主机的服务(包括应用程序名称和版本)、主机运行的操作系统(包括操作系统版本等信息)、正在使用的数据包过滤器或防火墙的类型,以及很多其它信息。
# nmap -sV -p 22 localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2018-09-23 12:36 IST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000089s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4 (protocol 2.0)
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.44 seconds
47、使用su root 切换到root
48、查看磁盘使用情况:$ free
49、使用man 或 help 显示命令介绍$ ls --help
50、从超级用户切换到普通用户模式:$ su username
51、使用echo "xxx“ ,或 printf "xx" 在屏幕上输入文字
52、查看当前用户:
53、显示日期和时间:$date 显示日历:$ cal 进行算术运算 $expr
54、使用登录root用户,输入“su root”,再输入密码就OK了,接下来输入命令 yum install “@Chinese Support” (这个命令是用来安装中文输入法的)
由于我的linux虚拟机没有联网,故此不做展示:可以查看https://blog.csdn.net/qq_39290007/article/details/80349628
55、使用 Ctrl +D 退出
55、使用reboot 重新启动linux服务器
56、使用shutdown -h <time>、halt、poweroff 关闭linux服务器
57、使用 service 程序名 start 启动 xx服务器;如$ service mysqld start 启动mysqld服务器;
58、使用 service name stop
59、利用“chkconfig”脚本来启用和禁用Linux系统中运行的服务。
chkconfig --list #列出所有的系统服务
chkconfig --add httpd #增加httpd服务
chkconfig --del httpd #删除httpd服务
[root@localhost www]# chkconfig --list #查看系统程序列表
[root@localhost www]# chkconfig httpd on #将httpd加入开机启动
[root@localhost www]# chkconfig httpd off #关闭httpd开机启动
补充:从上面的输出结果中,你会发现一些不需要在服务器上运行的应用程序,如:
1. smbd and nmbd
smbd和nmbd是Samba的后台进程。你真的需要在Windows或其他机器上输出smb分享吗?如果不是,为什么运行这些进程呢?
你可以在下一次机器启动时关闭开机启动设置,这样就能安全地关闭或禁用这些进程。
2. Telnet
你需要通过互联网或者局域网进行适合文本形式的通讯吗?如果不是的话,在机器启动时关闭这个进程吧。
3. rlogin
你需要通过网络登录到另一个主机吗?如果不需要的话,那么在机器启动时关闭这个进程的开启启动功能。
4. rexec
远程进程执行rexec允许你在远程计算机上执行shell命令。如果你不需要在远程机器上执行shell命令,请关闭该进程。
5. FTP
你需要将一个主机上的文件通过网络转移到另一个主机上吗?如果不需要,你可以停止FTP服务。
6. automount
你需要自动挂载不同的文件系统,弹出网络文件系统吗?如果不是,为什么要运行这个进程,为什么要让这个应用程序占用你的资源呢?关闭它的自动启动功能吧。
7. named
你需要运行域名服务器(DNS)吗?如果不是,你应该关掉这个进程,释放你的资源。先关闭正在运行的进程,然后关闭开机启动设置。
8. lpd
lpd是打印机的后台进程。如果你不需要从服务器打印,该进程会消耗你的系统资源。
9. Inetd
你运行inetd服务吗?如果你正在运行独立应用程序,如ssh,ssh会使用其他独立的应用程序,比如Mysql、Apache等。如果你不需要inetd,最后在下次自动启动时关闭掉。
10. portmap
Portmap是一个开放网络计算远程过程调用(ONC RPC),启用后台进程rpc.portmap和rpcbind。如果这些进行运行,意味着你正在运行NFS服务器。如果你没有注意到NFS服务器运行的话,意味着你的系统资源正在消耗。
如何在Linux系统中杀死一个进程
可以使用“Kill PID”命令杀死一个在Linux中运行的进程。但是在运行Kill命令之前,我们必须了解进程的PID。