linux基础命令介绍

由于要写一篇实验报告 需要一些linux命令的介绍
所以有了本文 写(水)一篇linux基础命令介绍

Linux常用命令的使用

    • 用户管理命令
      • 1.增加用户账号useradd命令
      • 2.修改用户usermod命令
      • 3.删除用户userdel命令
      • 4.更改密码passwd命令
      • 5.切换用户su命令
    • 文件操作命令
      • 1.查看目录内容ls命令
      • 2.切换目录cd命令
      • 3.当前路径pwd命令
      • 4.新建目录mkdir命令
      • 5.删除目录rmdir命令
      • 6.文件复制cp命令
      • 7.文件删除rm命令
      • 8.文件移动mv命令
      • 9.链接ln命令
      • 10.查看文件cat命令
      • 11.查看文件more命令
      • 12.查看文件less命令
      • 13.新建文件touch命令
      • 14.权限设置chmod命令
      • 15.查找文件find命令
      • 16.查找匹配grep命令
      • 17.文件归档tar命令
      • 18.文件压缩gzip命令
    • 进程管理命令
      • 1.进程状态ps命令
      • 2.结束进程kill命令
      • 3.df命令
      • 4.free命令
    • 网络管理命令
      • 1.ifconfig命令
      • 2.ping命令
      • 3.网络状态netstat命令
      • 4.远程登陆telnet命令

用户管理命令

1.增加用户账号useradd命令

useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码。而可用 userdel 删除帐号。使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中。
可以查看一下 命令怎么使用的 一些参数说明

useradd --help

下面只介绍几个常用参数 具体了解可以help查看一下

添加一般用户

useradd tt

为添加的用户指定相应的用户组

useradd -g root tt	# -g<群组>  指定用户所属的群组

创建一个系统用户

useradd -r tt	#   -r  建立系统帐号

为新添加的用户指定home目录

useradd -d /home/myd tt		#-d<登入目录>  指定用户登入时的起始目录

建立用户且制定ID

useradd tt -u 544	#-u  指定用户ID

useradd -p 这里重点说一下这个-p参数
-p是可以直接给新用户设置密码的,但密码的格式是密文的形式
你设置的密码是明文,而指令会自动给你加密成密文,登录使需要输入加密的密文才能登陆
怎么拿到密文呢?
/etc/shadow的第二个字段可以拿到这个密文,在用p直接设置密码就行了
以上操作应该都需要较高权限 sudo

2.修改用户usermod命令

usermod可用来修改用户帐号的各项设定
下面只介绍几个常用参数 具体了解可以help查看一下

更改登录目录

usermod -d /home/tt2 root	#-d登入目录>  修改用户登入时的目录  <用户账号>root

改变用户的uid

usermod -u 777 root		#-u  修改用户ID

3.删除用户userdel命令

userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
下面只介绍几个常用参数 具体了解可以help查看一下

强制删除tt用户

userdel -r tt		#-r  删除用户登入目录以及目录中所有文件

4.更改密码passwd命令

passwd命令用来更改使用者的密码
下面只介绍几个常用参数 具体了解可以help查看一下

修改用户密码

passwd tt  #设置runoob用户的密码
Enter new UNIX password:  #输入新密码,输入的密码无回显
Retype new UNIX password:  #确认密码
passwd: password updated successfully

显示账号密码信息

passwd -S tt	#-S 显示密码信息
tt P 05/13/2020 0 99999 7 -1

删除用户密码

passwd -d lx138 	#-d 删除密码
passwd: password expiry information changed.

5.切换用户su命令

su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
下面只介绍几个常用参数 具体了解可以help查看一下

变更帐号为 root 并在执行 ls 指令后退出变回原使用者

su -c ls root	#-c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者

变更帐号为 root 并传入 -f 参数给新执行的 shell

su root -f

变更帐号为 tt 并改变工作目录至 tt 的家目录(home dir)

su - tt

文件操作命令

1.查看目录内容ls命令

ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)
下面只介绍几个常用参数 具体了解可以help查看一下

列出根目录(\)下的所有目录:

ls /

列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面 :

ls -ltr s*	
#-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
#-t 将文件依建立时间之先后次序列出
#-r 将文件以相反次序显示(原定依英文字母次序)

将 /bin 目录以下所有目录及文件详细资料列出 :

ls -lR /bin		#-R 若目录下有文件,则以下之文件亦皆依序列出

列出目前工作目录下所有文件及目录,目录于名称后加 /, 可执行档于名称后加 *:

ls -AF
#-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
#-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
#-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"

2.切换目录cd命令

cd命令用于切换当前工作目录至 dirName(目录参数)
其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)
另外,~ 也表示为 home 目录 的意思,.则是表示目前所在的目录,.. 则表示目前目录位置的
上一层目录

跳到 /usr/bin/ (绝对路径) :

cd /usr/bin

跳到自己的 home 目录 :

cd ~

跳到目前目录的上上两层 (相对路径):

cd ../..

3.当前路径pwd命令

执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称
具体了解可以help查看一下

查看当前所在目录:

pwd
/root/test           #输出结果

4.新建目录mkdir命令

mkdir命令用于建立名称为 dirName 之子目录

在工作目录下,建立一个名为 tt 的子目录 :

mkdir tt

在工作目录下的 tt 目录中,建立一个名为 Test 的子目录。 若 tt 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 tt目录不存在,则产生错误。)

mkdir -p tt/Test	#-p 确保目录名称存在,不存在的就建一个

5.删除目录rmdir命令

rmdir命令删除空的目录
将工作目录下,名为 tt的子目录删除 :

rmdir tt

在工作目录下的 tt 目录中,删除名为 Test 的子目录。若 Test 删除后,tt 目录成为空目录,则 tt 亦予删除。

rmdir -p tt/Test	#-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除

6.文件复制cp命令

cp命令主要用于复制文件或目录。
下面只介绍几个常用参数 具体了解可以help查看一下

使用指令cp将当前目录test/下的所有文件复制到新目录newtest下,输入如下命令:

cp –r test/ newtest   #-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。   

7.文件删除rm命令

rm命令用于删除一个文件或者目录
下面只介绍几个常用参数 具体了解可以help查看一下

删除文件可以直接使用rm命令,若删除目录则必须配合选项-r,例如:

rm  test.txt 
rm:是否删除 一般文件 "test.txt"? y  
rm  homework  
rm: 无法删除目录"home": 是一个目录  
rm  -r  homework  
rm:是否删除 目录 "home"? y 
#-r 将目录及以下之档案亦逐一删除

删除当前目录下的文件和目录 ,相对路径

rm  -r  * 

经典调侃

rm -rf /*
#-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认
#-i 删除前逐一询问确认

/*相当于绝对路径的根路径所有文件,-rf强制删除此目录及子目录文件不询问,执行此命令就所有文件被删除了
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令

8.文件移动mv命令

mv 命令用来为文件或目录改名、或将文件或目录移入其它位置
下面只介绍几个常用参数 具体了解可以help查看一下

将文件 tt 更名为 test :

mv tt test

info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs

mv info/ logs 

再如将/usr/tt下的所有文件和目录移到当前目录下,命令行为:

mv /usr/tt/*  .

9.链接ln命令

ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接,应该跟windows下的快捷方式差不多
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间
下面只介绍几个常用参数 具体了解可以help查看一下

给文件创建软链接,为tt.log文件创建软链接ttlog,如果tt.log丢失,ttlog将失效:

ln -s tt.log ttlog	#-s 软链接(符号链接)

给文件创建硬链接,为tt.log创建硬链接ttlogtt.logttlog的各项属性相同

ln tt.log ttlog

10.查看文件cat命令

cat 命令用于连接文件并打印到标准输出设备上
下面只介绍几个常用参数 具体了解可以help查看一下

t1 的文档内容加上行号后输入 t2 这个文档里:

cat -n t1 > t2	#-n 或 --number:由 1 开始对所有输出的行数编号

t1t2 的文档内容加上行号(空白行不加)之后将内容附加到 t3 文档里:

cat -b t1 t2 >> t3	#-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

11.查看文件more命令

more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h
下面只介绍几个常用参数 具体了解可以help查看一下

逐页显示 tt 文件内容,如有连续两行以上空白行则以一行空白行显示。

more -s tt

从第 20 行开始显示 tt文件内容。

more +20 tt

V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more

12.查看文件less命令

lessmore 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件
下面只介绍几个常用参数 具体了解可以help查看一下

查看文件

less tt.log

ps查看进程信息并通过less分页显示

ps -ef |less

查看命令历史使用记录并通过less分页显示

history | less

浏览多个文件

less t1.log t2.log
#按n后,切换到t2.log
#按p后,切换到t1.log

13.新建文件touch命令

touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间,若文件不存在,系统会建立一个新的文件
ls -l 可以显示档案的时间记录
下面只介绍几个常用参数 具体了解可以help查看一下

使用指令touch时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件file,输入如下命令:

touch file            #创建一个名为“file”的新的空白文件 

如果file文件存在,则仅修改了file文件的时间属性

14.权限设置chmod命令

文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。
下面只介绍几个常用参数 具体了解可以help查看一下

将文件 tt.txt 设为所有人皆可读取 :

chmod ugo+r tt.txt
#u 表示该文件的拥有者
#g 表示与该文件的拥有者属于同一个群体(group)者
#o 表示其他以外的人
#a 表示这三者皆是
#+ 表示增加权限

将文件 tt.txt 设为所有人皆可读取 :

chmod a+r tt.txt
#r 表示可读取

将文件 t1.txtt2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

chmod ug+w,o-w t1.txt t2.txt
#w 表示可写入
#- 表示取消权限

tt.py 设定为只有该文件拥有者可以执行 :

chmod u+x tt.py
#x 表示可执行

将目前目录下的所有文件与子目录皆设为任何人可读取 :

chmod -R a+r *
#-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

chmod也可以用数字来表示权限

chmod 777 tt

其中a,b,c各为一个数字
分别表示UserGroup、及Other的权限
r=4w=2x=1

chmod abc file

15.查找文件find命令

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示
下面只介绍几个常用参数 具体了解可以help查看一下

将目前目录及其子目录下所有延伸档名是 c 的文件列出来。

find . -name "*.c"

将目前目录其其下子目录中所有一般文件列出

find . -type f
#-type c : 文件类型是 c 的文件。
#d: 目录
#c: 字型装置文件
#b: 区块装置文件
#p: 具名贮列
#f: 一般文件
#l: 符号连结
#s: socket

查大于512k的文件

find   .  -size   +512k 
#-size n : 文件大小n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组

16.查找匹配grep命令

grep 命令用于查找文件里符合条件的字符串。

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据

下面只介绍几个常用参数 具体了解可以help查看一下

在当前目录里第一级文件夹中寻找包含指定字符串的 .in 文件

grep "字符串" /.in

从文件内容查找与正则表达式匹配的行:

grep –e "正则表达式" filename
#-e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式

查找时不区分大小写:

grep –i "被查找的字符串" filename
#-i 或 --ignore-case : 忽略字符大小写的差别

查找匹配的行数:

grep -c "被查找的字符串" filename
#-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号

从文件内容查找不匹配指定字符串的行:

grep –v "被查找的字符串" filename
#-v 或 --revert-match : 显示不包含匹配文本的所有行

17.文件归档tar命令

tar命令用于备份文件。
tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件

下面只介绍几个常用参数 具体了解可以help查看一下

压缩文件 非打包

touch a.c   
tar -czvf test.tar.gz a.c   
#压缩 a.c文件为test.tar.gz
#-c或--create 建立新的备份文件
#-z或--gzip或--ungzip 通过gzip指令处理备份文件
#-v或--verbose 显示指令执行过程
#-f<备份文件>或--file=<备份文件> 指定备份文件

列出压缩文件内容

tar -tzvf test.tar.gz 
#-t或--list 列出备份文件的内容

解压文件

tar -xzvf test.tar.gz 
#-x或--extract或--get 从备份文件中还原文件

18.文件压缩gzip命令

gzip命令用于压缩文件。
gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出.gz的扩展名

下面只介绍几个常用参数 具体了解可以help查看一下

压缩文件时,不需要任何参数

gzip test.txt 

显示压缩率

gzip –l test.txt.gz 
#-l或--list  列出压缩文件的相关信息

解压缩

gunzip test.txt.gz    

进程管理命令

1.进程状态ps命令

ps命令用于显示当前进程 (process) 的状态
下面只介绍几个常用参数 具体了解可以help查看一下

显示进程信息

ps -A 	#-A 列出所有的进程

显示指定用户信息

ps -u root 	#-u 列出指定用户的进程

显示所有进程信息,连同命令行

ps -ef 
#-e 参数代表显示所有进程
#-f 参数代表全格度式

2.结束进程kill命令

kill命令用于删除执行中的程序或工作
kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL 9信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看
下面只介绍几个常用参数 具体了解可以help查看一下

杀死进程

kill 12345

强制杀死进程

kill -KILL 123456

发送SIGHUP信号,可以使用一下信号

kill -HUP pid

彻底杀死进程

kill -9 123456

显示信号

kill -l

杀死指定用户所有进程

kill -9 $(ps -ef | grep tt) 
# 过滤出tt用户进程 
kill -u tt 

3.df命令

df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计

具体了解可以help查看一下

显示文件系统的磁盘使用情况统计:

df 

4.free命令

free命令用于显示内存状态。
free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等

具体了解可以help查看一下

显示内存使用情况

free 

网络管理命令

1.ifconfig命令

ifconfig命令用于显示或设置网络设备。
ifconfig可设置网络设备的状态,或是显示目前的设置

下面只介绍几个常用参数 具体了解可以help查看一下

显示网络设备信息

ifconfig 

启动关闭指定网卡

ifconfig eth0 down
ifconfig eth0 up

配置IP地址

ifconfig eth0 192.168.xxx.xxx 

启用和关闭ARP协议

ifconfig eth0 arp  #开启
ifconfig eth0 -arp  #关闭

设置最大传输单元

ifconfig eth0 mtu 3000 
#设置能通过的最大数据包大小为 3000 bytes
#mtu<字节> 设置网络设备的MTU

2.ping命令

ping命令用于检测主机。
执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常

下面只介绍几个常用参数 具体了解可以help查看一下

检测是否与主机连通

ping 192.169.xxx.xxx
#ping 可以指定ip地址或者域名
#需要手动终止Ctrl+C
#-c<完成次数> 设置完成要求回应的次数

3.网络状态netstat命令

netstat命令用于显示网络状态。
利用netstat指令可让你得知整个Linux系统的网络情况

下面只介绍几个常用参数 具体了解可以help查看一下

显示详细的网络状况

netstat -a
-a或--all 显示所有连线中的Socket

显示当前户籍UDP连接状况

netstat -nu
-n或--numeric 直接使用IP地址,而不通过域名服务器
-u或--udp 显示UDP传输协议的连线状况

显示UDP端口号的使用情况

netstat -apu
#-p或--programs 显示正在使用Socket的程序识别码和程序名称

4.远程登陆telnet命令

telnet命令用于远端登入。
执行telnet指令开启终端机阶段作业,并登入远端主机

具体了解可以help查看一下

登录远程主机

telnet 192.168.xxx.xxx

你可能感兴趣的:(linux)