Linux命令笔记

Linux 命令大全

1.1 Linux常用命令

1.1.1帮助

man <命令>  显示参考文档,提供联机帮助信息(详细)
--help    帮助

1.1.2 清屏

clear    命令将会清屏
reset     命令将完全刷新终端屏幕,之前的终端信息会被清空

1.1.3 关机重启

showdown   只能由root用户运行
        -c  取消关机
        -h  关机并彻底断电
shutdown  --show  //查看设置的任务
shutdown  -h now //立即关机(60S)
shutdown  -r now //立马重启
shutdown  -r +25 //25分钟之后自动重启
shutdown  -r 23:00 //晚上11点自动重启
shutdown -h 20:00 //晚上8点自动关机
shutdown -h +30  //30分钟之后自动关机
halt     关闭系统
halt -p  关机
poweroff 立马关机
reboot   重新开机
init 0   重启或关闭系统 关机
init 6   重启

1.1.4 解压和压缩

解压:  tar -xfvz <解压文件名.tar.gz> -C /目录
压缩:  tar -cfvz <打包的文件名.tar.gz> 被打包的文件名

1.1.5 历史命令

history 显示整个历史命令列表的内容
    -a  把当前的历史命令追加到历史命令文件中
    -c  清空历史命令列表

1.1.6 切换目录

cd /   进入系统根目录
cd     进入当前用户的主目录
cd ~   进入当前用户的主目录
cd -   返回进入此目录之前所在的目录
cd ..  进入上一层目录

1.1.7 查看目录文件

pwd    查看当前工作目录的完整路径
ll -l  以长格式来显示文件的详细类型,该选项很常用
ls -la 显示全部的文件属性(详情)
ll -a  显示指定目录,下所有子目录和文件,包括隐藏文件(开头带.)
ll -d  查看当前目录(只显示目录名,不显示目录中的文件)
ll -i  在输出的第一行显示文件的i节点号。(显示inode编号)

1.1.8 查看文件内容

 more   分屏显示内容,方便用户主逐页阅读按空格显示下一页,按B会显示上一页,按H查看帮助信息,按Q结束。
 less   与more命令相似也可以用来阅读本地文件,用pageup 键向上翻,按Q退出。
 cat -n 对输出内容的所有行编号。
 cat >>文件名 继续输入不会覆盖。
 cat 文件1 >> 文件2 把文件一的内容追加给文件2。
 tac    将文件从最后一行开始倒过来,把内容输出到屏幕上。
 nl     显示时输出行号,但是不对空行编号。
 head   显示文件的前几号,默认前10行。
 tail   显示文件的后几号。默认前10行。
    -f  常用于日志文件的实时监控,按ctrl+C组合键结束命令。
 wc     统计文件内容,统计文件中的行数,字数,字符数。

1.1.9 文件和目录的操作

新建文件: touch 文件名
         vim 文件名
         echo "内容" >> 文件名
         cat > 文件名 Ctrl+D退出
         
新建目录  mkdir -p <路径> 
         mkdir {a,b,c,d}  一次新建多个文件
         
移动      mv  <源文件或目录>(存在) <目标文件或目录>
重命名    mv  <源文件或目录>(不存在)<目标文件或目录>

删除文件  rm  <文件名>
删除目录  rm -r <目录名>
删除所有文件  rm *
强制删除  rm -f

cp -p  复制源文件的内容外,还将把其修改时间和访问权限复制到新文件中。
cp r   复制目录

1.1.10 文件搜索

find -name<文件名>  查找指定名称的文件。
find -atime<天数>   文件被访问或读取的时间。
find  -mtime -3 -exec ls-l {} \;查找三天内的被修改的文件并执行查看。文件内容上次修改的时间。
             +3 三天前被修改的文件。
find  -size +5M -exec cp {} ./文件名 \;   查找大于5M的文件再复制到....查找文件大小的文件。
find -user username 查找所有文件属主为username的文件。

ll / |grep ^d 查看根目录下以d开头的文件。
grep bash$ /etc/passwd  查看新建用户密码密码(最后行密码。)
grep . 匹配任意单个字符。
grep * 匹配零个或多个字符。

sed -a 新增,上一行。
    -i 添加,上一行。
    -p 打印。
sed 's/原有内容/替换内容/2g' <文件名> 从第二字符开始替换。
sed '2,5d' <文件名>  删除2~5行。
sed '/^$/d' <文件名> 删除空行。
sed '2,$d' <文件名>  删除从二行到最后一行。
sed '2a 1234' <文件名>在第2行后面添加1234。
sed '$i 1234' <文件名>在最后一行后面添加1234。

which <命令> 显示一条命令的完整路径与别名。
whereis <选项> <文件名>搜索一条命令的完整路径及其帮助文件。

1.1.11 文件的链接

硬链接 目录不能只有文件有,同一个音连接的文件的inode编号相同。
      对于一个文件修改所有硬链接,所有文件都被修改。
ln <源文件><新建链接名>

软链接  以l开头。
ln -s <源文件>(绝对路径)<新建链接名>

1.1.12 文件的权限

文件权限:- rw- r-- r-- 1 root root 23 5月  10 20:05 exam.txt
每列出的信息依次是:文件类型与权限,链接数,文件属主,文件属组,文件大小,创建或最近修改的时间,文件名或目录名。
         第1组表示文件属主的权限,第2组表示同组用户的权限,第3组表示其他用户的权限。
         第1个字符表示文件类型, -:普通文件 d:目录 l:符号链接(软链接) s:套接字文件 p:命名管道 
                             b:块设备(硬盘)文件 c:字符设备文件(键盘,鼠标)   

chmod  改变文件或目录的读/写权限和执行权限,用它控制文件和目录的访问权限,文件默认没有执行权限。
       只有文件的拥有者和root用户才可以改变文件的权限。
    -R 对当前目录中所有文件及其子目录进行相同的权限变更。
    -a 表示所有用户。
    -g 表示与该文件的拥有者属于同一组群的用户。
    -o 表示其他用户。
    -u 表示用户本人。
    +  给指定用户增加许可权限。
    -  取消指定用户的许可权限。
    =  给指定用户指定许可权限。
    -r 读权限,表示可以复制该文件和目录的内容。
    -w 写权限,表示可以修改该文件或目录的内容。
    -x 执行权限,表示可以执行该文件或进入目录。
    
 1表示可执行(x)权限,2表示可写(w)权限,4表示可读(r)权限。
 
 umask 在创建文件或目录时预设的权限掩码。
       文件默认没有X权限。
       一般用户的默认umask值为002,系统用户的umask默认值为022。
       文件的基数为666,目录的基数为777。

1.2 Vim的5种编译模式

1.2.1 命令模式

   (其他模式: ESC键)
	h  将光标向左移动一格
	I  将光标向右移动一格
	j  将光标向下移动一格
	k  将光标向上移动一格
	0(home) 将光标移至行首
	$ (End) 将光标移至行尾
	gg 将光标移至文章的首行
	G  将光标移至文章的尾行
	
	yy或Y 复制光标所在的整行
	2yy  复制两行
	yG   复制至文件尾
	y1G  复制至文件首
	
	X  删除光标前的字符
	dd 删除当前行
	dG 删除至文件尾
	d1G 删除至文件首
	
	u  取消上一个更动,可以撤销误删除的操作
	U  取消上一行内的所有更到那个
	

1.2.2 插入模式

 (命令模式: a,i,o,A,I,O 键)
 a  在光标之后插入内容
 i  在光标之前插入内容
 A  在光标当前行的末尾插入内容
 I  在光标当前行的开始部分插入内容
 o  在光标所在行的下面新增一行
 O  在光标所在行的上面新增一行

1.2.3 末行模式

 (在命令模式下安冒号键 :)
 :wq  保存并退出
 :q!  强制退出,修改内容不会保持
 :e!  放弃所有更改,重新编辑
 : set nu 显示行号

1.2.4 查询模式

 (命令模式 :? /) 
 /  按/键就会出现一个 / ,然后输入要查询的字符串,按Enter键就会开始查询 (向下查询)
 ? 按?键就会出现一个 ? ,然后输入要查询的字符串,按Enter键就会开始查询 (向上查询)
 n 继续查询
 N 继续查询(反向)

1.2.5 可视化模式

 (命令模式:V) 
  c 剪切选定块的字符串
  y 复制选定块的字符串
  p 可将复制或剪切的内容粘贴在光标所在位置的右边

1.3 用户管理

1.3.1 用户管理

Linux 操作系统中三种用户: root用户,系统用户和普通用户
      root用户:UID为0,为系统管理员
      系统用户: UID为1~999,大多数不能登录,因为他们的登录Shell为/bin/nologin
      普通用户: UID为1000~60000
      用户基本信息保存在/etc/passwd
      用户密码等安全信息保存在/etc/shadow

1.3.2 新建用户

1.useradd  建立用户账号(需root使用),默认在 /home
    -c   加上备注文字,备注文字保存在passwd的备注栏中
    -d   指定用户登录时的其实目录
    -g   指定用户所属的群组
    -s   指定用户登录后所属的Shell
    
2.echo "密码" | passwd --stdin 用户名  

1.3.3 修改密码

passwd  更改自己的密码,也可以更改别人的密码
    -d  删除账号的密码,需root用户
    -l  锁定已经命名的帐号名称,需root用户
    -u  解开账号锁定状态,需root用户
    -f  强制解开账号锁定状态,需root用户

1.3.4 删除用户

userdel 删除用户账号及其相关的文件
        只删除用户账号,不删除该账号的相关文件
    -r  删除用户主目录及其目录中的所有文件

1.3.5 修改用户信息

usermod 修改用户信息
     -d 改变用户的主目录,如果加上-m则会将旧主目录移到新的目录中去(-m应加在新目录之后)
     -g 改变用户的主属组
     -s 改变用户默认的Shell
     -L 锁住密码,使密码不可用
     -U 为用户密码解锁

1.3.6 用户查询

 who  列出登录账号、使用的终端、大量时间以及从何处登录等信息
      ttyl 本地登录     pts/0 远程登陆
 w    显示有谁登陆到系统,还可以显示出这些用户当前正在进行的工作
 id   显示用户的ID,及其所属群组的ID
 whomi  显示当前终端上的用户名
 last 列出目前与过去登录成功的系统用户的相关信息
 lastb 列出目前与过去没有登录成功的系统用户的相关信息
 lastlog 报告所有用户的最近登录情况

1.3.7 切换用户

 su  用于在不注销的情况下切换到系统中的另一个用户,默认值为root
     如果要离开当前用户,可以执行exit命令(或logout)
 sudo 可以让用户以其他身份来执行指定的命令,默认的身份为root

1.4 组管理

1.4.1 新建组

groupadd 创建一个新群组
      添加组命令的相关文件有/etc/group和/etc/gshadow

1.4.2 删除组

groupdel 删除群组
     必须使用userdel命令删除该群组里的所有用户,才能使用groupdel命令删除群组
     如果任何一个群组的使用者在线上,就不能删除群组

1.4.3 更改组

groupmod 更改群组识别码或名称
    -g <群组识别码><组名>  设置使用的群组识别码
    -n <新组名><原组名>  设置要使用的群组名称

1.4.4 管理组

gpasswd 管理组
    -a  添加用户到组
    -d  从组删除用户

1.5 进程管理

进程号 PID 系统通过进程号来调度操控进程
Linux 操作系统的原始进程是init,init的PID总是1
所有进程的父进程systemd

Linux上的进程有5种状态
  R  运行(正在运行或在就绪队列中等待)
  S  中断(休眠中,在等待某个条件的发生或接收某个信号)
  D  不可中断(收到信号不唤醒和不可运行,进程必须等待,直到有中断发生)
  Z  僵死(进程以终止,但PCB仍存在,直到父进程用wait1()函数进行系统调用并将其释放)
  T  停止(进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止运行)

1.5.1监视进程

ps  显示系统中进程的信息
   a  显示包括终端的进程
   aux 所有终端,首父进程
   x  显示所有包括了不连接终端的进程(如守护进程)
   -e 显示所有进程
   -f 显示进程的父进程
ps aux | grep <进程名> 查找特定进程

top 提供当前系统中进程的动态视图,显示正在执行进程的相关信息 ,按q退出

1.5.2 终止进程

 kill <PID> 终止一个进程
      -9    强制终止进程
 pkill      通过进程名或进程的其他属性来直接杀死所有进程

1.5.3 监视和控制systemd

systsemctl                      //列出所有正在运行的服务
systsemctl reboot               //重启
systsemctl poweroff             //退出系统并停止电源
systsemctl suspend              //待机
systsemctl hibernate            //休眠
systsemctl hybrid-sleep         //混合休眠模式  
systsemctl start <unitname>     //立即启动单元
systsemctl status               //显示系统状态
systsemctl status <unitname>    //查看单元运行状态
systsemctl enable <unitname>    //开机自动启动该单元
systsemctl disable <unitname>   //取消开机自动启动该单元
systsemctl reload <unitname>    //重新加载一个服务的配置文件

1.6 系统管理

1.61 系统日志

系统日志一般存放在/var/log目录下
/var/log/messages   核心系统日志文件 ,包括系统启动时的引导消息以及系统运行时的其它系统状态消息
/var/log/sercure    记录安全相关信息,系统登陆信息与网络连接信息

cat /var/log/messages   打开日志
tail -f /var/log/secure   实时查看  Ctrl+C 退出

1.6.2 查询系统信息

umane  显示计算机硬件平台及操作系统版本等相关信息
hostname  显示或设置当前系统的主机名。
          主机名被许多网络程序使用,用来标记主机
free    列出内存的使用情况
    -m  以MB为单位显示内存使用情况
uptime    用来获取主机运行时间和查询Linux操作系统负载等情况
lscpu   收集CPU的相关信息,包含CPU数量,线程数,核数,插座数,缓存等

1.7 磁盘管理

1.7.1 磁盘分区

以下为虚拟机操作:
1.在虚拟机新建一块磁盘(30G)    ls /dev
2.查看磁盘分区   fdisk -l 
3.磁盘分区      fdisk /dev/sdb(磁盘名)  默认+3G
4.n(新建)>p(创建主分区)>分区编号>设置大小>p(查看)>w(保存)
5.重新读取分区表   partprobe /dev/sdb
6.磁盘格式化      mkfs -t xfs /dev/sdb                     xfs: centos 7的文件系统
磁盘挂载 (将目录和一个硬盘进行挂钩)
7.建目录    mkdir /media/msdb1
8.临时挂载  mount /dev/sdb/media/msdb1
9.查看磁盘分区信息     df-hT
10.查看目录或文件占用磁盘空间大小   du-hs
Linux操作系统常见的分区类型
5:拓展分区
82:交换分区(swap分区)
83:Linux标准分区(ext2/ext3/ext4/xfs/)
8e:LVM分区
7:NTFS分区
c: FAT32(LAB分区)
f: FAT32分区

1.7.2 挂载光盘

1.创建目录  mkdir /media/cdrom
2. 虚拟机>可移动设备>CD>设置>勾选已连接>浏览ISO映像文件>确定
3. 挂载    mount /dev/cdrom/media/cdrom
4. 查看    lsblk或df -hT 
5.查看CD数据   ls -l /media/cdrom

1.7.3 挂载命令

fdisk创建分区的流程
1.fdisk<磁盘设备名>
2.n(创建新的分区)
3.t(修改分区类型)   P:主分区  e:拓展分区
4.w(保存并退出)     
D:删除分区  m:帮助   l:列出分区类别

fdisk <磁盘> 更改分区表。
fdisk -l <磁盘> 列出分区表。
fdisk -s <分区> 给出分区大小(块数)。

umont   将使用mount命令挂载的文件系统卸载
lsblk   列出作用可用的或指定的块设备的信息
blkid   查看挂载过的块设备(包括交换分区)信息

1.7.4 永久挂载

1.vim /etc/fstab
2.:net nu  显示行号
3.添加一条记录
  字段1:被挂载的文件,系统的名称,通常以/dev/开头。
  字段2:挂载点
  字段3:被安装的文件系统的类型。
  字段4:安装不同文件系统所需的不同选项。
  字段5:一个数字,被dump命令用来决定文件系统是否需要备份,0表示不需要。
  字段6:一个数字,被fsck命令用来检查文件系统时决定是否检查该系统以及检查的次序,fask命令的使用方法用命令man fask来查看联机帮助。
  
  例:/dev/sdb/media/msdb/  xfs  defaults  0   0
  
  注:mount -a命令表示挂载/etc/fstab文件中未挂载的设备。

1.7.5 交换分区

交换分区:存放内存中不活动的信息。

挂载交换分区
1.fdisk /dev/sdb
2.n>p>2>起始分区-t>分区序号-82>w
3.partprobe /dev/sdb
4.mkswap /dev/sdb   //格式化
5.swapon /dev/sdb   //临时挂载
  vim /etc/fstab    //永久挂载
  /dev/sdb2   swap   defaults   0  0
6.swapon  -a     //检查挂载

swapon  -s      //列出加载的交换分区。
swpoff  <磁盘>   //关闭交换分区。

1.8 YUM

1.8.1 YUM命令

YUM可以自动解决软件包间的依赖关系,使用软件包装的依赖关系信息,保证这个软件包在安装前首先满足相应的条件,然后自动安装软件包。
yum list     查看yum源中的文件。
yum install <软件包名> -y 安装指定的软件包。
yum remove <软件包名> -y 删除指定的软件包。
yum reinstall <软件包名> -y 重新安装指定的软件包。
yum clean clean 清除yum缓存。
1.8.2 配置本地yum源
使用远程工具将CentOS的ISO文件上传到/etc/yum.repos.d/
cd /etc/yum.repos.d/
vim CentOS -Base.repo

[base]
name=Centos7
baseurl=file:/l/mnt/ cdrom
enabled=1
gpgcheck=0

yum clean all
yum makecache
yum repolist

1.9 访问控制列表(ACL)

getfacl <文件名>  获取文件的访问控制信息。
setfacl -m u:用户名:rwx(权限) <文件名>  设置某用户名的访问权限。
setfacl -m g:组名:rwx(权限) <文件名>设置某个组的访问权限。
setfacl -x u:用户名 <文件名>取消某用户名的访问权限。
setfacl -x g:组名 <文件名>取消某个组的访问权限。
setacl -b <文件名>  删除该文件的所有ACL。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trick♂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值