linux常用的基本命令

来源:互联网 发布:js动作标记有哪些 编辑:程序博客网 时间:2024/05/19 23:14

前言:

前面学习怎么对文件进行管理,基本上满足对文件的操作,但是(又是这个可恶的但是)平时再linux不仅仅只是对文件进行操作,可能还会对linux的资源进行管理,比如说,要知道linux操作系统上有哪些进程,修改系统的时间,查看系统的资源等。

1.basename/dirname命令:

basename用于返回一个字符串的基本文件名称:

[xianzan@xianzan dir1]pwd/home/xianzan/dir1[xianzan@xianzan dir1]basename `pwd`dir1
说明:

` `为命令置换符,`pwd`将得到当前路径,home/xianzan/dir1是字符串;

basename `pwd`可以获得当前目录。

dirname:可以获得当前目录的上级目录的路径。

[xianzan@xianzan dir1]dirname `pwd`/home/xianzan
说明:

这个命令很少直接在shell命令行中使用,我一般把它用在shell脚本中,用于取得脚本文件所在目录,然后将当前目录切换过去。

2.dos2unix/unix2dos命令:

说明:

有时我们把windows下的文件文件放到Linux下,或Linux下的文件放到Windows下用不通编辑器打开时,发现换行出现问题,这是因为:

Dos和windows采用回车+换行CR/LF表示下一行即/r/n;
UNIX/Linux采用换行符LF表示下一行/n;
苹果机(MAC OS系统)则采用回车符CR表示下一行/r.

在Linux下有两个命令可以实现windows和linux回车的转换:

[user1@xianzan dir1]$ sudo yum install unix2dos[user1@xianzan dir1]$ sudo unix2dos hello.cunix2dos: converting file hello.c to DOS format ...
注意:

这两个命令系统默认没有安装,而需要自己安装unix2dos和dos2unix两个软件包才会有这两个命令。

3.Linux进程管理:

Linux是支持多进程运行的分时操作系统。ps命令用来查看进程,kill可以终止进程的运行:

查看当前进程:

[user1@xianzan dir1]$ ps   PID TTY          TIME CMD 83768 pts/2    00:00:00 bash 84037 pts/2    00:00:00 ps
查看当前用户进程的详细信息:

[user1@xianzan dir1]$ ps uxUSER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDuser1     83768  0.0  0.1 108336  1804 pts/2    S    12:08   0:00 bashuser1     84041  0.0  0.1 110236  1128 pts/2    R+   12:24   0:00 ps ux
查看所有用户的进程及其详细信息:

[user1@xianzan dir1]$ ps auxUSER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDroot          1  0.0  0.0  19364   972 ?        Ss   Jan14   0:04 /sbin/initroot          2  0.0  0.0      0     0 ?        S    Jan14   0:00 [kthreadd]root          3  0.0  0.0      0     0 ?        S    Jan14   0:00 [migration/0]           ...

可以对某个进行进行单独显示:

[user1@xianzan dir1]$ ps aux |tail -1user1     84193  0.0  0.0 101244   740 pts/2    S+   12:35   0:00 tail -1
结束某个进程:

[user1@xianzan ~]$ ping www.baidu.comPING www.a.shifen.com (180.97.33.107) 56(84) bytes of data.
先查找要结束的进程的进程pid:

[user1@xianzan dir1]$ ps aux |grep ping |grep user1 |grep -v grep     //-v是过滤后面的字符,即过滤掉grep进程user1     84297  0.1  0.1 109572  1008 pts/0    S+   12:39   0:00 ping www.baidu.com
用kill+pid结束进程:

[user1@xianzan dir1]$ kill 84297
[user1@xianzan ~]$ ping www.baidu.comPING www.a.shifen.com (180.97.33.107) 56(84) bytes of data.已终止

要想进程变为后台进程,在命令后加个&

[user1@xianzan dir1]$ ping www.baidu.com &[2] 84502[user1@xianzan dir1]$ ping 4.2.2.2 &[3] 84511[user1@xianzan dir1]$ ps aux |grep ping |grep user1 |grep -v grepuser1     84502  0.0  0.1 109572  1012 pts/2    S    12:52   0:00 ping www.baidu.comuser1     84511  0.0  0.0 103244   724 pts/2    S    12:52   0:00 ping 4.2.2.2
[user1@xianzan dir1]$ps aux | grep ping |grep -v grep |tr -s ' ' |cut -d' ' -f2 
每个命令的解释:

ps aux:打印所有的运行中的进程;

grep ping:抓取 所有包含 ping进程;

grep -v grep:过滤含有grep字段的进程;

tr -s ' ':把所有的重复的空格去掉;

cut -d' ' -f2:以空格为开头截取第二个字段。

补充:

USER       进程的属主;
PID            进程的ID;
PPID         父进程;
%CPU      进程占用的CPU百分比;
%MEM      占用内存的百分比;
NI              进程的NICE值,数值大,表示较少占用CPU时间;
VSZ           该进程使用的虚拟內存量(KB);
RSS         该进程占用的固定內存量(KB)(驻留中页的数量);
TTY          该进程在那个终端上运行(登陆者的终端位置),若与終端無关,則显示(?)。若为pts/0等,则表示由网络连接主机进程
WCHAN   当前进程是否正在进行,若为 - 表示正在进行;
START     该进程被触发启动时间;
TIME         该进程实际使用CPU运行的时间;
COMMAND   命令的名称和参数;

STAT        状态位常见的状态字符

D               无法中断的休眠状态(通常 IO 的进程);
R               正在运行可中在队列中可过行的;
S               处于休眠状态;
T               停止或被追踪;
W              进入内存交换  (从内核2.6开始无效);
X               死掉的进程   (基本很少見);
Z               僵尸进程;
<               优先级高的进程
N              优先级较低的进程
L              有些页被锁进内存;
s              进程的领导者(在它之下有子进程);
l               多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+              位于后台的进程组;

4.Linux时间管理:

说明:

Linux将时钟分为系统时钟(System Clock)和硬件时钟(Real Time Clock,简称RTC)两种:
1. RTC时间是RTC芯片的时钟,系统关机时主板上的纽扣电池供电(时钟)继续运行,Windows下需进入到BIOS里进行修改该时间,Linux使用hwclock命令查看/修改;
2. Linux系统时间是Linux系统看到的时钟,系统每次启动时从RTC拿时间设置该值,Linux下该时间可以由data命令来查看/修改;
3. 网络时钟: Linux、Windows系统都可以通过网络授时,Linux使用ntpdate命令获取网络时间;

[user1@xianzan ~]$ date        显示系统时间2016年 01月 16日 星期六 12:47:02 CST      [user1@xianzan ~]$ date +"%Y-%m-%d %H:%M:%S"     修改显示系统时间的格式2016-01-16 12:48:34
修改系统时间:date -s +时间    -s表示设置时间(set)

[user1@xianzan ~]$ sudo date -s "2016-1-15 13:01:01"2016年 01月 15日 星期五 13:01:01 CST
读取硬件时间(RTC):sudo hwclock -r

[user1@xianzan ~]$ sudo hwclock -r2016年01月16日 星期六 13时11分54秒  -0.735434 seconds
将系统时间设置为硬件的时间:sudo hwclock -s

[user1@xianzan ~]$ sudo hwclock -s[user1@xianzan ~]$ date2016年 01月 16日 星期六 13:13:28 CST
将硬件时间设置为系统时间:sudo hwclock -w
[user1@xianzan ~]$ sudo hwclock -w[user1@xianzan ~]$ date2016年 01月 16日 星期六 13:17:22 CST
从网上拿到时间:
[user1@xianzan ~]$ sudo ntpdate time.windos.com

5.Linux 查看系统资源:

查看CPU信息:

[user1@xianzan ~]$ cat /proc/cpuinfo          processor: 0vendor_id: GenuineIntelcpu family: 6model: 69model name: Intel(R) Core(TM) i3-4030U CPU @ 1.90GHzstepping: 1microcode: 29cpu MHz: 1895.615cache size: 3072 KB   
查看内存信息:

[user1@xianzan ~]$ cat /proc/meminfoMemTotal:        1004768 kBMemFree:           66476 kBBuffers:           40264 kBCached:           359556 kBSwapCached:         9144 kBActive:           281388 kB
查看内存使用情况:

[user1@xianzan ~]$ free             total       used       free     shared    buffers     cachedMem:       1004768     938260      66508       5648      40312     359556-/+ buffers/cache:     538392     466376 Swap:      2097148      52172    2044976 
查看磁盘等存储信息:

[user1@xianzan ~]$ sudo df -hFilesystem      Size  Used Avail Use% Mounted on/dev/sda2        28G   25G  1.5G  95% /tmpfs           491M  504K  491M   1% /dev/shm.host:/         130G  110G   21G  85% /mnt/hgfs/dev/sr0        3.7G  3.7G     0 100% /media/CentOS_6.7_Final
实时显示CPU、内存、进程等信息:

[user1@xianzan ~]$ toptop - 13:40:01 up 1 day, 20:25,  3 users,  load average: 0.03, 0.01, 0.00Tasks: 170 total,   1 running, 169 sleeping,   0 stopped,   0 zombie
查看linux运行时长:

[user1@xianzan ~]$ uptime 13:40:53 up 1 day, 20:26,  3 users,  load average: 0.01, 0.01, 0.00
查看哪些用户登录到了Linux系统上:

[user1@xianzan ~]$ whoroot     tty1         2015-12-26 13:39 (:0)root     pts/0        2016-01-16 12:38 (:0.0)root     pts/2        2016-01-16 12:00 (:0.0)
查看Red Hat系列发行版本:

[user1@xianzan ~]$ cat /etc/redhat-release CentOS release 6.7 (Final)
查看Linux内核版本等信息:

[user1@xianzan ~]$ uname -aLinux xianzan 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
RedHat系列Linux设置随机启动的服务:

[user1@xianzan ~]$ sudo ntsysv 



1 0
原创粉丝点击