linux命令之常用命令

基本命令

1.1 命令入门

1.1.1 命令提示符详解

[root@localhost ~]# #/root

[jinxf@localhost ~]$ #/home/jinxf

用户名@主机名 当前目录 #系统权限 $普通权限

1.pwd 显示当前用户

2.cd 进入某个目录

3.ls 显示当前目录下文件,可见文件(将ls改名,系统找的/bin下的ls文件,需要添加–color=auto ,改名 mv ls lb,–表示后面是单词,-表示后面是选项,多个参数用空格隔开)

ls -l 显示详细信息,ls -l -a显示全部信息,包括隐藏文件,简写ls -al

4.useradd sxt 创建普通用户

5.su sxt进入sxt用户

6.exit 退出当前用户,su后面要退出

7.pstree -p 查看进程树,p是进程id

8.history 查看历史命令

9.alias ll显示别名

1.1.2 命令格式

命令 选项 参数 (三者之间要有空格,区分大小写)

command -options

案例演示

[root@node1 ~]# ls -a

. a anaconda-ks.cfg .bash_logout .bashrc install.log .tcshrc x

… abc .bash_history .bash_profile .cshrc install.log.syslog .viminfo xyz

[root@node1 ~]# ls -a -l

total 72

dr-xr-x—. 6 root root 4096 Nov 27 12:37 .

dr-xr-xr-x. 22 root root 4096 Nov 27 09:22 …

-rw-------. 1 root root 900 Nov 27 03:47 anaconda-ks.cfg

-rw-------. 1 root root 828 Nov 27 09:48 .bash_history

-rw-r–r--. 1 root root 18 May 20 2009 .bash_logout

[root@node1 ~]# ls -al install.log

-rw-r–r--. 1 root root 8815 Nov 27 03:47 install.log

[root@node1 ~]# ls -al install.log install.log.syslog

-rw-r–r--. 1 root root 8815 Nov 27 03:47 install.log

-rw-r–r--. 1 root root 3384 Nov 27 03:46 install.log.syslog

[root@node1 ~]# ls -al install*

-rw-r–r--. 1 root root 8815 Nov 27 03:47 install.log

-rw-r–r--. 1 root root 3384 Nov 27 03:46 install.log.syslog

[root@node1 ~]# ls -al *.log

-rw-r–r--. 1 root root 8815 Nov 27 03:47 install.log

[root@node1 ~]# ls -al .log

-rw-r–r--. 1 root root 8815 Nov 27 03:47 install.log

-rw-r–r--. 1 root root 3384 Nov 27 03:46 install.log.syslog

1.2 获取命令的帮助

1.2.1 查手册&搜索引擎

手册见《参考手册&资料》

搜索:必应 谷歌 百度 等

1.2.2 man的使用

enter向下一行

空格按页向下翻 b向上翻页

p直接翻到首页

查找按 /要查找的内容,查找 下一个/上一个:按n/N;

退出按q

扩展内容:

man

  • 1用户命令(/bin,/usr/bin,/usr/local/bin)
  • 2系统调用
  • 3库函数
  • 4特殊文件(设备文件)
  • 5文件格式(配置文件的语法)
  • 6游戏
  • 7杂项(Miscellaneous)
  • 8管理命令(/sbin,/usr/sbin,/usr/local/sbin)

指定查看某种帮助:

[root@node1 ~]# man 2 read

1.2.3 命令 --help

[root@node1 ~]# mv --help****

1.3 echo输出

echo -n表示不要另起新行

[root@node1 ~]# echo “hello world”

hello world

[root@node1 ~]# echo -n “hello world”

hello world[root@node1 ~]#

-e表示解释逃逸字符

[root@node1 ~]# echo -e “hello \nworld”

hello

world

[root@node1 ~]# echo “hello \nworld”

hello \nworld

1.4 环境变量:PATH

当在shell中执行命令的时候,默认到PATH指定的路径中查找可执行文件。

如果在PATH中的多个目录都包含该可执行文件,则执行最先找到的。

[root@node1 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

如果找不到,这提示命令不识别。

1.5 ls

ls命令用于列出目录内容

ls

添加-l以长格式输出,列出根目录下内容的详细列表

ls -l

也可以后面跟多个目录,列出多个目录的内容

ls / /usr

也可以通过命令的别名列出详细列表

ll

ls -a

ls -a -l

ls -al

ls -al *.log 过滤文件

ls -R a 显示子文件家的子文件

./当前目录

…/上级目录

1.6 pwd

打印当前工作目录路径

pwd

1.7 cd

cd用于更改shell工作目录,也就是切换目录 change directory cd

cd /etc

如果cd后什么都不写,表示直接回当前用户家目录

cd

cd /etc

cd后跟波浪线,也表示回用户家目录

cd ~

cd后也可以跟减号(-)用以表示回到最后一次切换之前的目录,多次使用减号在最近两个目录之间切换(返回)

cd /etc/sysconfig/network-scritps

cd -****

root用户可以直接通过绝对路径进到普通用户的家目录

cd /home/god

cd …

ll

也可以直接跟波浪线用户名表示直接进入到某个用户的家目录

cd ~bjsxt 到用户bjsxt家中去,root不受限制

1.8 mkdir

mkdir用于创建目录

mkdir abc

mkdir a1 a2 a3

如果直接创建多层目录,则报错,因为默认只能创建最后一级目录

mkdir a/b/c

可以添加**-p**选项,用以创建多层目录,因为系统发现某一级目录不存在的时候创建父目录

mkdir -p a/b/c

也可以在mkdir后跟多个目录,用于一次性创建多个目录

mkdir ./abc/1dir ./abc/2dir ./abc/3dir

但是可以使用大括号高效创建相似的目录

mkdir ./abc/{x,y,z}dir

Mkdir ./abc/{x…z}dir(不包括z 如:mkdir b{1…1000},a…z,从a到z)

1.9 rm

rm用于删除文件

直接删除,需要确认yes

rm file

添加-f选项可以不用确认强制删除

rm -f file

如果rm的参数是目录,则会提示需要迭代删除而不能成功

rm adir

此时可以添加-r参数表示迭代删除

rm -r dira

也可以使用-rf选项,迭代强制删除某个文件或目录,此命令慎用。

rm -rf dira

尤其是

!!! rm -rf /

1.10 cp

• cp拷贝

Ø cp 文件… 目标目录 拷贝文件…到目标目录,可以同时拷贝多个文件,文件名之间用空格隔开

Ø cp -r 目录 目标目录

1.11 mv

mv用于移动或重命名文件

• 移动文件/目录 #mv 源文件/[源文件1 源文件2] 目标

• Linux中没有专门改名的命令,兼职改名工作:

1.12 ln

用于创建硬链接或软链接(快捷方式)

ln

可以使用ll -i选项让ll打印文件的inode信息

[root@node1 ~]# cp /etc/profile ./

[root@node1 ~]# ll –i

创建硬链接****

[root@node1 ~]# ln profile ln1

**创建软链接:**让ln2指向profile, 给profile创建软连接,相当于windows中的快捷方式

[root@node1 ~]# ln -s profile ln2

再次打印inode信息查看

[root@node1 ~]# ll -i

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G1tYNXc6-1604490314313)(file:///C:\TMP\ksohtml218344\wps1.jpg)]

如果两个文件inode一样,表示两个文件(ln1和profile)实际上是同一个文件,硬连接。如果inode不一样,但是有ln2**->**profile,表示ln2是profile的软链接。

注意:ln1ln2都不能提前创建或是已经存在的文件否则报错**

ln: creating symbolic link `ln1’: File exists

软连接删除不会删除源文件

硬链接删除后如果源文件没有硬链接,则文件被删除

如何在不使用mv的情况下移动文件?可以操作硬连接

1.13 ps

可以通过命令查看系统内进程信息

ps -ef

查看磁盘使用情况

vim 编辑文件,ctrl z变成后台进程,jobs命令查看后台进程

nohup 命令 & //将程序变成后台执行,将程序bach后面的命令变成分支前端

tail -f 文件名 //监听后台文件的变化状态

pstree //查看进程树

fg //进程变成带+号,按顺序执行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5z0NjeEt-1604490314326)(file:///C:\TMP\ksohtml218344\wps2.jpg)]

l 进程查看命令

Ø ps(process status) :将某个时间点的程序运作情况截取下来

Ø 选项和参数

Ø a :和输入终端(terminal) 关联的所有 process,通常与x一起使用,

列出完整信息。

Ø x :后台进程,通常与 a 这个参数一起使用,可列出较完整信息

Ø u :有效使用者 (effective user) 相关的 process

l 常用组合

Ø ps aux 观察系统所有的程序数据 (常用)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EcMz7BOL-1604490314334)(file:///C:\TMP\ksohtml218344\wps3.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7l0udr6k-1604490314353)(file:///C:\TMP\ksohtml218344\wps4.jpg)]

以下为各选项的含义****

Ø USER:该 process 属于那个使用者****

Ø **PID :该 process 的程序标识符。 ******

Ø **%CPU:该 process 使用掉的 CPU 资源百分比; ******

Ø **%MEM:该 process 所占用的物理内存百分比; ******

Ø **VSZ :该 process 使用掉的虚拟内存量 (Kbytes) ******

Ø **RSS :该 process 占用的物理的内存量 (Kbytes) ******

Ø **TTY :该 process 是在那个终端机上面运作,若与终端机无关则显示 ?, 另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。 ******

Ø **STAT:该进程目前的状态,状态显示与ps -l 的 S 旗标相同 (R/S/D/T/Z) ******

Ø **START:该 process 被触发启动的时间; ******

Ø **TIME :该 process 实际使用 CPU 运作的时间。 ******

Ø **COMMAND:该程序的实际命令为何? ******

进入到/usr目录;usr不是用户的意思,而是unix software resources的简写

cd /usr

查看内容

ll

1.14 test命令

计算3 > 2的结果,打印返回值,计算3 < 2的结果,打印返回值。

echo $? 打印上一行命令的执行结果

-eq 等于

-ge >=

-le <=

[root@node1 ~]# test 3 -gt 2

[root@node1 ~]# echo $?

0

[root@node1 ~]# test 3 -lt 2

[root@node1 ~]# echo $?

1

[root@node1 ~]# test 5 -lt 2

[root@node1 ~]# echo $?

1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9FJPGo00-1604490314356)(file:///C:\TMP\ksohtml218344\wps5.jpg)]

逻辑判断

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zgUUFcBA-1604490314358)(file:///C:\TMP\ksohtml218344\wps6.jpg)]

成立返回0(true),不成立返回1(false)

[root@node1 ~]# [ 3 -gt 2 ]

[root@node1 ~]# echo $?

0

[root@node1 ~]# [ 5 -lt 2 ]

[root@node1 ~]# echo $?

1

[root@node1 ~]# [ 5 -lt 2]

-bash: [: missing `]’

[root@node1 ~]# [5 -lt 2 ]

-bash: [5: command not found

[]和内容之间一定要有空格,否则抛错。


版权声明:本文为qq_32168617原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。