Linux命令实例讲解

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。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值