ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux命令操作

2021-04-16 22:34:12  阅读:115  来源: 互联网

标签:ciggar sudo 命令 Linux 进程 操作 txt 光标


Linux命令操作

高频使用基础命令

pwd #【显示当前⽬录路径】
ls 
#【list directory contents,显示当前⽂件夹下的⽬录或⽂件】
# 常⽤选项:
# -a 显示所有的⽂件夹和⽂件,包括隐藏⽂件
# -l 以详细的形式显示

例如:

[root@www /]# ls -l
total 12
drwxr-xr-x 2 ciggar ciggar 4096 Aug 2 20:58 cskaoyan
-rw-r--r-- 1 ciggar ciggar 0 Aug 2 20:47 main.txt
-rw-r--r-- 1 ciggar ciggar 14 Aug 2 20:11 test.txt
cd #【进⼊⼀个路径或者⽬录,绝对路径或者相对路径都可以】
#⽤法: cd [路径],⽐如 cd ~(代表进⼊家⽬录)
cd . #【当前⽬录】
cd .. #【进⼊上⼀级⽬录】
cd /home #【进⼊绝对路径home⽬录下】

目录文件

mkdir:创建⼀个新的⽬录
rmdir:删除⼀个空的⽬录
cp: 复制⽂件或⽬录
[root@www ~]# cp [-adfilprsu] 来源档(source) ⽬标档(destination)
-a:相当於 -pdr 的意思,⾄於 pdr 请参考下列说明;(常⽤)
-d:若来源档为连结档的属性(link file),则复制连结档属性⽽⾮⽂件本身;
-f:为强制(force)的意思,若⽬标⽂件已经存在且⽆法开启,则移除后再尝试⼀次;
-i:若⽬标档(destination)已经存在时,在覆盖时会先询问动作的进⾏(常⽤)
-l:进⾏硬式连结(hard link)的连结档创建,⽽⾮复制⽂件本身;
-p:连同⽂件的属性⼀起复制过去,⽽⾮使⽤默认属性(备份常⽤);
-r:递归持续复制,⽤於⽬录的复制⾏为;(常⽤)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』⽂件;
-u:若 destination ⽐ source 旧才升级 destination !
rm: 移除⽂件或⽬录
-f :就是 force 的意思,忽略不存在的⽂件,不会出现警告信息;
-i :互动模式,在删除前会询问使⽤者是否动作
-r :递归删除啊!最常⽤在⽬录的删除了!这是⾮常危险的选项!!!
mv: 移动⽂件与⽬录,或修改⽂件与⽬录的名称
[root@www ~]# mv [-fiu] source destination
-f :force 强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖;
-i :若⽬标⽂件 (destination) 已经存在时,就会询问是否覆盖!
-u :若⽬标⽂件已经存在,且 source ⽐较新,才会升级 (update)

可以使⽤ man [命令] 来查看各个命令的使⽤⽂档,如 :man cp。

普通文件

创建文件命令

touch: 创建⼀个新的空⽂件

查看文件命令

cat: 以只读的⽅式打开⼀个⽂件。可以加 -n 表示带上⾏号(适合查看⽂件内容⽐较少的)
more: 和cat功能类似,不过是以分⻚的形式⼀⻚⼀⻚显示数据。最基本的指令就是按空⽩键(space)
就往下⼀⻚显示,按 b 键就会往回(back)⼀⻚显示。
+n :从笫n⾏开始显示
-c :从顶部清屏,然后显示
less: 也⽤来分⻚显示数据,但是功能⽐more强⼤。并不会⼀次性将全部⽂件读取才显示,⽽是根据显示
的需要加载对应的数据。
-f :强迫打开特殊⽂件,例如外围设备代号、⽬录和⼆进制⽂件
-m :显示类似more命令的百分⽐
-N :显示每⾏的⾏号
操作命令
-d :向后半页
-f :向后翻一页
-u :向前半页
-b :向前一页
-y :向前一行
head: 查看⼀个⽂件,取开头的⼀部分内容。head filename,或者添加选项: head -5 filename
tail:查看⼀个⽂件的尾部内容。tail -5 filename,查看⽂件的最后五⾏
 常⻅⽤法:tail -f filename,尾部持续不断地输出内容。Control + c退出。
 例如:tail -5f filename

重定向和追加

echo: 输出内容到控制台。⽐如输出Linux的环境变量到控制台
echo $PATH
>指令:输出重定向(会将原来的内容覆盖)
>>指令:追加(不会覆盖原⽂件的内容,追加到底部)
echo hello > a.txt
ls -l >> a.txt
cat a.txt > b.txt(⽂件可以存在,可以不存在)

压缩与解压

tar是⽤来建⽴,还原备份⽂件的⼯具程序,它可以加⼊,解开备份⽂件内的⽂件。

tar 
-c:产⽣.tar⽂件
-v:显示详细信息
-z:打包同时压缩
-f:指定压缩后的⽂件名
-x:解压.tar⽂件
压缩 :tar -zcvf combine.tar.gz 1.txt
解压 :tar -zxvf combine.tar.gz -C java/
-C 表示解压到指定⽬录

注意:如果需要解压和压缩为 .zip 格式的⽂件,那么需要安装zip和unzip软件

sudo apt-get install zip
sudo apt-get install unzip

文本编辑

Ubuntu默认没有安装vim,需要先安装vim⼯具。

sudo apt-get install vim

vim有三种模式:命令模式(Command mode)、插⼊模式(Insert mode)、末⾏模式(Last Linemode)。

命令模式

通过指令 vim filename 进⼊命令模式。除此之外,还有⼀些其他的参数,⽐如:

-r: 恢复上次vim打开时崩溃的⽂件
-R: 把指定的⽂件以只读的⽅式放⼊vim编辑器中
+: 打开⽂件,并把光标置于最后⼀⾏的⾸部
+n: 打开⽂件,并把光标置于第n⾏的⾸部

命令模式快捷键:

删除

x: 删除光标所在位置的字符
dd: 少出光标所在⾏
ndd: 删除当前⾏后n⾏⽂本(包括此⾏)
dG: 删除光标所在⾏⼀直到⽂件末尾的所有内容
D: 删除光标位置到⾏尾的所有内容

删除的内容此时并没有被真正删除,⽽是在剪切版中,按下 p 键,可以将删除的内容粘贴回来。

移动

w: 光标移动⾄下⼀个单词⾸
e: 光标移动⾄下⼀个单词尾
b: 光标移动⾄上⼀个单词⾸
gg: 光标移动到⽂件开头
G: 光标移动⾄⽂件末尾
nG: 光标移动到第n⾏,n为数字
0或^:光标移动⾄当前⾏的⾏⾸
$: 光标移动⾄当前⾏的⾏尾

插入模式

在命令模式下,通过按下i、I、a、A、o、O这6个字⺟进⼊插⼊模式,不同的字⺟代表不同的进⼊⽅式。

i: 在当前光标位置前⾯插⼊随后输⼊的⽂本,光标后的⽂本相应向右移动
o: 在光标所在⾏下⾯插⼊新的⼀⾏,然后光标停在空⾏⾸,等待输⼊⽂本
O: 在光标所在⾏上⾯插⼊新的⼀⾏,然后光标停在空⾏⾸,等待输⼊⽂本
a: 在当前光标位置后⾯插⼊随后输⼊的⽂本,光标后的⽂本相应向右移动
A: 在光标所在⾏的⾏尾插⼊随后输⼊的⽂本

按下ESC键离开插⼊模式,进⼊命令模式

末行模式

在命令模式下,按下 : 键进⼊末⾏模式。在该模式下,可以使⽤⼀系列的指令,完成保存、离开vim编辑器等功能。

:wq 保存并退出vim编辑器
:wq! 保存并强制退出vim编辑器
:q 不保存退出
:q! 不保存强制退出
:w 保存不退出
:w! 强制保存不退出
:w filename 另存到filename⽂件
ZZ 直接退出

在这里插入图片描述

用户管理

Linux系统是⼀个多⽤户、多任务的操作系统。多⽤户是指在linux操作系统中可以创建多个⽤户,⽽这些多⽤户⼜可以同时执⾏各⾃不同的任务,⽽互不影响。

在Linux系统中,会存在着以下⼏个概念,

1.⽤户名:⽤户的名称

2.⽤户所属的组:当前⽤户所属的组。

3.⽤户的家⽬录:当前账号登录成功之后的⽬录,就叫做该⽤户的家⽬录。

添加用户

sudo useradd [选项] ⽤户名

eg:创建⼀个⽤户,⽤户名 test

sudo useradd test
注意这种⽅式创建出来的没有家⽬录,我们创建的时候需要带参数
sudo useradd -m test : -m 表示在 /home⽬录下创建⼀个家⽬录
sudo useradd -m -s /bin/bash test : 表示指定shell版本是我们熟悉的bash

给⽤户添加密码:

sudo passwd [⽤户名]

切换⽤户:

su [⽤户名]

删除用户

sudo userdel [⽤户名]
-r: 不仅会删除该⽤户,还会删除该⽤户对应的家⽬录

组管理

添加组: groupadd [groupname]

创建⽤户的时候加⼊组: useradd -m -s /bin/bash -g [groupname] [username]

查看⽤户及组信息:id ⽤户名

修改⽤户所属组: usermod -g [groupname] [username]

权限管理

文件权限

查看

ciggar@ubuntu:~/Desktop/test$ ls -l
total 40
# ⽂件信息 ⽂件数 ⽤户 组名 ⼤⼩ ⽉份 ⽇期 时间 ⽂件名
drwxr-xr-x 2 ciggar ciggar 4096 Aug 2 23:52 cskaoyan
prw-r--r-- 1 ciggar ciggar 0 Aug 2 23:43 fifo_file
-rw-r--r-- 1 ciggar ciggar 26825 Aug 3 00:25 main.txt
-rw-r--r-- 1 ciggar ciggar 33 Aug 3 00:37 test.txt
drwxr-xr-x 3 ciggar ciggar 4096 Aug 3 01:27 xxx

前⾯10个符号表示⽂件的⼀些基本信息。

第1位:-表示是⼀个普通的⽂件;d表示是⼀个⽬录;(最常⽤)

rwx:Read、Write、Execute,读、写、执⾏权限,这个顺序不会变,如果没有权限的话就⽤-代替

第2-4位:表示⽂件所有者的权限

第5-7位:⽂件所在组的拥有的权限

第8-10位:⽂件其他组⽤户拥有的权限

修改

通过 chmod 指令,可以修改⽂件或者⽬录的权限

[⽅式⼀]

chmod u=rwx,g=rw,o=r filename
u:所有者 g:所有组 o:其他组,a代表全部

[⽅式⼆]

r=4,w=2,x=1 rwx = 4 + 2 + 1 = 7

chmod 751 等价于 u=rwx,g=rx,o=x

案例

Linux⽆间道:

  1. 新建⼀个police组和⼀个gang组

  2. police组新增⼀个成员叫刘⼩磊,另⼀个成员⼩警,gang组新增⼀个成员叫张⼤松,另⼀个成员强哥

  3. 将刘⼩磊和张⼤松的分组对调

  4. 刘⼩磊创建⼀个⽂件,写下:葵涌码头,⻰⿎滩收货。该⽂件权限⾃⼰可以读写,同组其他⼈员没有权限读写,其他组可以查看

  5. 张⼤松创建⼀个⽂件,写下:有内⻤,终⽌交易。该⽂件权限⾃⼰可以读写,同组其他⼈员没有权限读写,其他组可以读写

  6. 将刘⼩磊的账号销毁

#第⼀步
sudo groupadd police
sudo groupadd gang
#第⼆步
sudo useradd -m -s /bin/bash -g police liuxiaolei
sudo useradd -m -s /bin/bash -g police xiaojing
sudo useradd -m -s /bin/bash -g gang zhangdasong
sudo useradd -m -s /bin/bash -g gang qiangge
#给定密码
sudo passwd liuxiaolei
sudo passwd xiaojing
sudo passwd zhangdasong
sudo passwd qiangge
#第三步 卧底
sudo usermod -g police zhangdasong
sudo usermod -g gang liuxiaolei
#第四步 卧底传递情报
su liuxiaolei
sudo echo "葵涌码头,⻰⿎滩收货" > liuxiaolei.txt
chmod 704 liuxiaolei.txt
su zhangdasong
sudo echo "有内⻤,终⽌交易" > zhangdasong.txt
chmod 706 zhangdasong.txt
#第五步 读取⽂件,刘⼩磊暴露,销毁刘⼩磊⽤户

进程管理

查看进程

Linux系统中查看进程使⽤情况的命令是ps指令

常⻅选项:

-e:显示所有进程

-f:全格式

a:显示终端上的所有进程

u:以⽤户的格式来显示进程信息

x:显示后台运⾏的进程

⼀般常⽤格式为ps -ef或者ps aux两种。显示的信息⼤体⼀致,略有区别。

带[*]表示重要

在这里插入图片描述

UID:⽤户ID 
*PID:进程ID 
*PPID:⽗进程ID 
C:CPU⽤于计算执⾏优先级的因⼦。数值越⼤,表明进程是CPU密集型运算,执⾏优先级会降低;数值越
⼩,表明进程是I/O密集型运算,执⾏优先级会提⾼
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU时间
*CMD:完整的启动进程所⽤的命令和参数

在这里插入图片描述

USER:⽤户名称
*PID:程号
*%CPU:进程占⽤CPU的百分⽐
*%MEM:进程占⽤物理内存的百分⽐
VSZ:进程占⽤的虚拟内存⼤⼩(单位:KB)
RSS:进程占⽤的物理内存⼤⼩(单位:KB)
TT:终端名称(缩写),若为?,则代表此进程与终端⽆关,因为它们是由系统启动的
*STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有⽐普通优先级更低的
优先级,R-正在运⾏,D-短期等待,Z-僵死进程,T-被跟踪或者被停⽌等
STARTED:进程的启动时间
TIME:CPU时间,即进程使⽤CPU的总时间
COMMAND:启动进程所⽤的命令和参数,如果过⻓会被截断显示

两者区别:

如果想查看进程的CPU占⽤率和内存占⽤率,可以使⽤aux

如果想查看进程的⽗进程ID和完整的COMMAND命令,可以使⽤ef

如果想在进程列表中进⼀步筛选出想查询的进程,可以使⽤管道符

#搜索匹配进程
ps -ef | grep [搜索内容]

终止进程

kill [选项] 进程号
参数:
-9:操作系统从内核级别强制杀死⼀个进程
-15:可以理解为操作系统发送⼀个通知告诉应⽤主动关闭

服务管理

服务本质上来说也是⼀个进程,只不过是在后台运⾏。监听着某⼀端⼝,等待该端⼝的请求到来,⽐如ssh服务,监听着22端⼝;mysql服务,监听着3306端⼝;
tomcat服务,监听着80或者8080端⼝。

指令:(管理服务器的启动、停⽌、状态等)

systemctl start/stop/restart/status/reload 服务名称

例如:

#⽐如关闭ssh服务
systemctl stop sshd

网络管理

查看网络设置

ifconfig

解决安装不了ipconfig命令的问题

sudo apt-get update

sudo apt-get upgrade

sudo apt install net-tools

查看网络端口占用情况

netstat
-a:显示全部
-n:以数字的形式显示
-p:显示该连接被哪个应⽤程序占⽤PID
eg:
netstat -anp | grep 3306

第⼆种⽅式:

lsof -i: [端⼝号]

查看网络是否正常

ping [⽬的ip或者域名]

标签:ciggar,sudo,命令,Linux,进程,操作,txt,光标
来源: https://blog.csdn.net/lsoxvxe/article/details/115772970

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有