linux 命令练习(1)
常用命令
whereis 命令
语法:whereis 【参数】 命令名称
含义:查找命令的可执行文件的所在的位置
[root@yyj /]# whereis rpm //查找命令rpm的位置
rpm: /usr/bin/rpm /usr/lib/rpm /etc/rpm /usr/share/man/man8/rpm.8.gz
注意:
不是再整个硬盘帮你查找
ls 只是个缩写!—>ls – color=auto
find命令
语法:find 【路径】 【匹配表达式】
含义:用于文件查找
1
[root@yyj dir1]# find /dir1 -name "*.tar" //在dir1目录下查找文件名以“.tar”结尾的文件
/dir1/yy.tar
2
-type 查找指定类型文件 f(普通文件)
-exec参数后面跟的是command命令(目录常用命令),它是以 ; 为结束标志,由于各个系统中分号会有不同的意义,因此在前面加上反斜杠。 {} 代表前面find查找出来的文件名
[root@yyj ~]# find . -type f -exec ls -l {} \;//查找当前目录下的普通文件,并以长格形式显示
-rw-r--r--. 1 root root 18 12月 29 2013 ./.bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 ./.bash_profile
-rw-r--r--. 1 root root 176 12月 29 2013 ./.bashrc
-rw-r--r--. 1 root root 100 12月 29 2013 ./.cshrc
-rw-r--r--. 1 root root 129 12月 29 2013 ./.tcshrc
-rw-------. 1 root root 2508 3月 10 12:21 ./anaconda-ks.cfg
-rw-------. 1 root root 2 3月 10 12:32 ./.cache/dconf/user
-rw-------. 1 root root 11 4月 2 15:31 ./.cache/abrt/lastnotification
-rw-r--r--. 1 root root 463 3月 10 12:32 ./.dbus/session-bus/5dd7b4b703b3434690c55a0d15c87ed8-9
-rw-r--r--. 1 root root 2556 3月 10 13:19 ./initial-setup-ks.cfg
-rw-------. 1 root root 1966 4月 2 15:31 ./.bash_history
-rw-------. 1 root root 96 4月 2 15:31 ./.xauthhdQFt3
whatis 命令
语法:whatis 命令名称
含义:获取命令简介
[root@yyj /]# whatis ls
ls (1) - 列目录内容
ls (1p) - list directory contents
locate命令
含义:基于数据库查找,查找文件
[root@yyj dir1]# locate yy.tar
/dir1/yy.tar
grep命令
语法:grep【参数】 要查找的字符串 文件名
含义:查找文件中含有制定字符串的行
1 查找a文件中的root的行,并输出前后各两行
[root@yyj dir1]# grep -2 root /dir1/a
defavabvavv
ffjfjfjeifjweif
root
fwwwwwwwwwww
defffffffff
2 在a文件中搜索只包含"root" 4个字符的行
[root@yyj dir1]# grep "^root$" /dir1/a
root
提示: grep和find命令的差别在于grep是在文件中搜索满足条件的行,而find是在定目录下根据文件的相关信息查找满足指定条件的文件。
dd命令
例如,我们可以用dd命令从/dev/zero设备文件中取出两个大小为50MB的数据块,然后保存成名为file1的文件。在理解了这个命令后,以后就能随意创建任意大小的文件了(做配额测试时很有用) :
[root@yyj dir1]# dd if=/dev/zero of=file1 count=2 bs=50M
记录了2+0 的读入
记录了2+0 的写出
104857600字节(105 MB)已复制,0.393893 秒,266 MB/秒
bs 制定这个块的大小
count 制定多少块
of 输出的文件名
if 输入的文件名
块这个文件是读不了的
系统信息类命令
dmesg命令
dmesg命令用实例名和物理名称来标识连到系统上的设备。dmesg命令也用于显示系统诊断信息、操作系统版本号、物理内存大小以及其他信息
[root@yyj ~]# dmesg|more
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.
org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21
:09:27 UTC 2017
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-693.el7.x86_64 root=/dev
/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/s
wap rhgb quiet LANG=zh_CN.UTF-8
[ 0.000000] Disabled fast string operations
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ebff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000003fedffff] usable
[ 0.000000] BIOS-e820: [mem 0x000000003fee0000-0x000000003fefefff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x000000003feff000-0x000000003fefffff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x000000003ff00000-0x000000003fffffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f7ffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fffe0000-0x00000000ffffffff] reserved
[ 0.000000] NX (Execute Disable) protection: active
我们可以使用如 more’。 ‘tail’, ‘less 或者‘grep’文字处理工具来处理‘dmesg’命令的输出。由于dmesg日志的输出不适合在一页中完全显示,因此我们使用管道 (‘ | ’)将其输出送到more或者less命令单页显示。
free命令
free命令主要用来查看系统内存、虚拟内存的大小及占用情况,例如:
[root@yyj ~]# free
total used free shared buff/cache available
Mem: 999720 610188 77980 3624 311552 150824
Swap: 2097148 250240 1846908
date命令
查看系统当前时间
[root@yyj ~]# date
2020年 04月 07日 星期二 17:37:03 CST
设置当前时间
[root@yyj ~]# date -d 01/01/2020
2020年 01月 01日 星期三 00:00:00 CST
注:用date 修改后不影响系统的时间
cal命令
cal命令用于显示指定月份或年份的日历
[root@yyj ~]# cal 4 2020
四月 2020
日 一 二 三 四 五 六
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
clock命令
clock命令用于从计算机的硬件获得日期和时间。
[root@yyj ~]# clock
2020年04月07日 星期二 17时43分03秒 -0.901376 秒
注:计算机有一个专门储存时间的硬件叫*’bios‘*
进程管理类命令
ps命令
ps命令主要用于查看系统的进程。
[root@yyj ~]# ps -au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1394 0.7 3.4 337656 34156 tty1 Ssl+ 14:20 1:27 /usr/bin/X :0 -background none -noreset -audit 4 -verbose -auth /run/gdm/auth-for-gdm-2ClsBQ/database
yuanyuj+ 9158 0.0 0.3 116688 3256 pts/0 Ss 16:54 0:00 bash
root 9205 0.0 0.4 220852 4172 pts/0 S 16:54 0:00 su
root 9216 0.0 0.3 116904 3344 pts/0 S 16:54 0:00 bash
root 13177 0.0 0.1 151064 1820 pts/0 R+ 17:47 0:00 ps -au
pidof 命令
pidor命令用于查询某个指定服务进程的PID值,该命令格式为
每个进程的进程号码值(PID)是唯一的,因此可以通过PID来区分不同的进程。例如,可以使用如下命令来查询本机上sshd服务程序的PID:
[root@yyj ~]# pidof sshd
1154
kill命令
后台终止指令
[root@yyj ~]# kill -1
kill: 用法:kill [-s 信号声明 | -n 信号编号 | -信号声明] 进程号 | 任务声明 ... 或 kill -l [信号声明]
killall命令
[root@yyj ~]# killall -1
Usage: killall [-Z 上下文] [-u 用户名] [ -eIgiqrvw ] [ -信号 ] 程序名...
killall -l, --list
killall -V, --version
-e,--exact require exact match for very long names
-I,--ignore-case case insensitive process name match
-g,--process-group kill process group instead of process
-y,--younger-than kill processes younger than TIME
-o,--older-than kill processes older than TIME
-i,--interactive ask for confirmation before killing
-l,--list list all known signal names
-q,--quiet don't print complaints
-r,--regexp interpret NAME as an extended regular expression
-s,--signal SIGNAL send this signal instead of SIGTERM
-u,--user USER kill only process(es) running as USER
-v,--verbose report if the signal was successfully sent
-V,--version display version information
-w,--wait wait for processes to die
-Z,--context 正则表达式 仅杀死含有指定上下文的进程
(必须在其他参数前使用)
区别:与kill命令不同的是,killall命令可以根据进程名称来杀死进程。kill得先需要找到进程的id
top命令
查看进行,监视系统
top -d 20 //20秒刷新一下系统,默认是5秒刷新一次
bg,jobs,fg命令
bg命令用于把进程放到后台运行
bg - find
jobs命令用于查看在后台运行的进程
fg命令用于把在后台运行的进程调到前台
at命令
如果想在特定时间运行Linux命令,可以将at添加到语句中。语法是at后面跟着希望命令运行的日期和时间,然后命令提示符变为aD,这样就可以输入在上面指定的时间运行的命令。
[root@yyj ~]# at 6:17 PM Tue
at> echo 'hello'
at> CTRL +D
job 1 at Tue Apr 14 18:17:00 2020
其他常用命令
shutdown命令
shutdown命令用于在指定时间关闭系统。
shutdown -h now
alias 命令
alias命令用于创建命令的别名。
[yuanyujing@yyj ~]$ alias ss="cd /dir1"
[yuanyujing@yyj ~]$ ss
[yuanyujing@yyj dir1]$
who命令
含义:查看当前登入主机的用户终端信息
格式:who 【参数】
[yuanyujing@yyj ~]$ who
yuanyujing :0 2020-04-07 19:18 (:0)
yuanyujing pts/0 2020-04-07 19:18 (:0)
wget命令
wget 【参数】 下载地址
last命令
查看所有系统的登陆记录
[yuanyujing@yyj ~]$ last
yuanyuji pts/0 :0 Tue Apr 7 19:18 still logged in
yuanyuji :0 :0 Tue Apr 7 19:18 still logged in
reboot system boot 3.10.0-693.el7.x Tue Apr 7 19:18 - 19:22 (00:04)
yuanyuji pts/0 :0 Tue Apr 7 19:15 - 19:16 (00:00)
yuanyuji :0 :0 Tue Apr 7 19:15 - down (00:01)
reboot system boot 3.10.0-693.el7.x Tue Apr 7 19:15 - 19:16 (00:01)
yuanyuji pts/0 :0 Tue Apr 7 13:19 - 19:14 (05:55)
yuanyuji pts/0 :0 Tue Apr 7 13:14 - 13:19 (00:04)
yuanyuji pts/0 :0 Thu Apr 2 15:31 - 13:14 (4+21:42)
yuanyuji pts/1 :0 Thu Apr 2 15:27 - 15:27 (00:00)
yuanyuji pts/0 :0 Thu Apr 2 15:25 - 15:31 (00:05)
yuanyuji pts/0 :0 Tue Mar 31 22:17 - 22:21 (00:03)
yuanyuji pts/0 :0 Tue Mar 31 21:45 - 22:17 (00:32)
yuanyuji pts/0 :0 Tue Mar 31 20:53 - 21:20 (00:27)
yuanyuji :0 :0 Tue Mar 31 20:53 - 19:14 (6+22:20)
reboot system boot 3.10.0-693.el7.x Tue Mar 31 20:53 - 19:14 (6+22:21)