Linux基础命令

Linux基础命令

1. ls

命令格式:ls [options] [args]
命令功能:目标目录所有的子目录和文件
文件类型:

  • d 目录文件
  • b 快设配文件
  • c 字符设备文件
  • l 符号连接文件
  • p 命令管道
  • s 套接字文件

常用参数:

  • -a :列出以.开头的隐藏文件
  • -d :显示目录自身属性
  • -R :递归显示
  • -s :以大小单位列出所有文件的大小
  • -l :可以将文件的权限,文件大小,所有者详细信息列出来
  • -h:以人类好理解的方法列出来
    命令实例:
[root@localhost ~]# ls
anaconda-ks.cfg  caiaochenwoerz  zzz
[root@localhost ~]# ls -d
.
[root@localhost ~]# ls -a
.   anaconda-ks.cfg  .bash_profile  caiaochenwoerz  .tcshrc
..  .bash_logout     .bashrc        .cshrc          zzz

2. cd

命令格式:cd [dirname]
命令功能:切换当前工作目录
命令实例:

[root@localhost xxx]# cd /root/usr/
[root@localhost usr]# 

3. pwd

命令格式:pwd
命令功能:显示工作目录的绝对目录名称
命令实例:

[root@localhost xxx]# pwd
/root/xxx
[root@localhost xxx]# 

4. touch

命名格式:touch files
命令功能:创建一个空文件和修改文件的时间戳
命令实例:

[root@localhost xxx]# ls
[root@localhost xxx]# touch abc
[root@localhost xxx]# ls
abc
[root@localhost xxx]# 

5. mkdir

命令格式:mkdir [optino] directory
命令功能:创建一个目录
命令参数:

  • -p:一次创建多个目录
    命令实例:
[root@localhost ~]# ls
anaconda-ks.cfg  backup.gz  caiaochenwoerz  zzz
backup.bz2       backup.xz  usr
[root@localhost ~]# mkdir xxx
[root@localhost ~]# ls
anaconda-ks.cfg  backup.gz  caiaochenwoerz  xxx
backup.bz2       backup.xz  usr             zzz
[root@localhost ~]# 

6. echo

命令实例:

[root@localhost ~]# echo hello 
hello

命令功能:打印输出

7. rm

命令格式:rm [options] name
命令功能:删除一个文件或目录
命令参数:

  • -f:直接删除不需要确认
  • -r:目录之下的文件一并删除
    命令实例:
[root@localhost zzz]# ls
1  10  2  3  4  5  6  7  8  9  dadad  zzzz
[root@localhost zzz]# rm -rf 1 2 3 4 5
[root@localhost zzz]# ls
10  6  7  8  9  dadad  zzzz
[root@localhost zzz]# 
[root@localhost zzz]# rm  9
rm:是否删除普通空文件 "9"?yes
[root@localhost zzz]# ls
6  7  8  dadad  zzzz
[root@localhost zzz]# 
[root@localhost zzz]# rm -r dadd
rm:是否删除目录 "dadd"?yes
[root@localhost zzz]# ls
6  7  8  dadad  zzzz
[root@localhost zzz]# 

8.sed

命令实例:提取带有world单词的行

[root@localhost zzz]# sed -n '/world/p' zzzz 
hello world

命令功能:基于行的过滤和转换文本的流编辑器
命令参数:

  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现
  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行
  • d :删除,因为是删除啊,所以 d 后面通常不接任何东西
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现
  • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
  • s :取代,可以直接进行取代的工作

9. cat

命令功能:查看文本
命令实例:

[root@localhost ~]# cat > caiaochenwoerz <<EOF
> sbxk
> sbcac
> sbcsl
> EOF
[root@localhost ~]# cat caiaochenwoerz 
sbxk
sbcac
sbcsl

10. tar

命令功能:打包 解压
命令参数:

  • -jcf bz2格式压缩
  • -Jcf xz格式压缩
  • zcf gz格式压缩
    命令实例:
[root@localhost ~]#  tar -zcf /root/backup.gz /usr/local/
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ls
anaconda-ks.cfg    backup.gz  caiaochenwoerz  zzz
[root@localhost ~]#  tar -jcf /root/backup.bz2 /usr/local/
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ls
anaconda-ks.cfg  backup.bz2  backup.gz  caiaochenwoerz  zzz
[root@localhost ~]#  tar -Jcf /root/backup.xz /usr/local/
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ls
anaconda-ks.cfg  backup.gz  caiaochenwoerz
backup.bz2       backup.xz  zzz
[root@localhost ~]# tar xf backup.gz 
[root@localhost ~]# ls
anaconda-ks.cfg  backup.gz  caiaochenwoerz  zzz
backup.bz2       backup.xz  usr

11. awk

命令功能:基于列的文本报告工具
命名实例:

[root@localhost zzz]# cat zzzz 
hello world
 hello zzz
123 
456
789
  zzz
[root@localhost zzz]# awk '{print $1,$4}' zzzz 
hello 
hello 
123 
456 
789 
zzz 
[root@localhost zzz]# awk -F, '{print $1,$4}' zzzz 
hello world 
 hello zzz 
123  
456 
789 
  zzz 
[root@localhost zzz]# awk -F, '{print $1,$4}' zzzz |head -3
hello world 
 hello zzz 
123  

12.head和tail

命令功能:查看头部和尾部
命令实例:

[root@localhost ~]# cat caiaochenwoerz 
sbxk
sbcac
sbcsl
[root@localhost ~]# head -1 caiaochenwoerz |tail -2 caiaochenwoerz 
sbcac
sbcsl
[root@localhost ~]# 

13.grep

命令功能 用于查找文件符合条件的字符串
命令参数:

  • -i:忽略大小写
  • –color:匹配内容显示高亮
  • -q:静默模式 不输出任何内容
  • -r:查找目录时必须带上
  • -v:打印出不符合条件的内容
    命令实例:
[root@localhost ~]# grep -q "sbin" /etc/man_db.conf 
[root@localhost ~]# 
[root@localhost ~]# grep "sbin" /etc/man_db.conf |grep -v '^&' > /root/out.txt
[root@localhost ~]# 
[root@localhost ~]# cat /root/out.txt
MANPATH_MAP   /sbin          /usr/share/man
MANPATH_MAP   /usr/sbin        /usr/share/man
MANPATH_MAP   /usr/local/sbin     /usr/local/man
MANPATH_MAP   /usr/local/sbin     /usr/local/share/man
MANPATH_MAP   /opt/sbin        /opt/man
[root@localhost ~]#

14.find

命令功能:在指定目录下查找文件
命令参数:

  • -name:精确匹配文件
  • -user:属主
  • -grep:属组
  • -size:大小
  • -type:文件类型
    命令实例:
[root@localhost ~]# find / -name zzz
/root/zzz
[root@localhost ~]# 
[root@localhost ~]# find / -user cactd
/home/cactd
/home/cactd/.bash_logout
/home/cactd/.bash_profile
/home/cactd/.bashrc
find: ‘/proc/26498/task/26498/fd/6’: 没有那个文件或目录
find: ‘/proc/26498/task/26498/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/26498/fd/5’: 没有那个文件或目录
find: ‘/proc/26498/fdinfo/5’: 没有那个文件或目录
/var/spool/mail/cactd
[root@localhost ~]# 
[root@localhost ~]# find / -group cactd
/home/cactd
/home/cactd/.bash_logout
/home/cactd/.bash_profile
/home/cactd/.bashrc
find: ‘/proc/27629/task/27629/fd/6’: 没有那个文件或目录
find: ‘/proc/27629/task/27629/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/27629/fd/5’: 没有那个文件或目录
find: ‘/proc/27629/fdinfo/5’: 没有那个文件或目录
[root@localhost ~]# 
[root@localhost ~]# find /etc -size +5M
/etc/udev/hwdb.bin
[root@localhost ~]# 

重定向和管道

1.输出重定向

1.1 >

命令功能:覆盖输出
命令实例:

[root@localhost ~]# echo linlusama123 > abc 
[root@localhost ~]# cat abc
linlusama123
[root@localhost ~]# 

1.2 >>

命令功能:追加输出
命令实例:

[root@localhost ~]# echo linlusama >> abc 
[root@localhost ~]# cat abc
linlusama
[root@localhost ~]# 

2.输入重定向

2.1 <

命令功能:输入重定向
命令实例:

[root@localhost ~]# cat abc
linlusama1
[root@localhost ~]# cat > asd < abc 
[root@localhost ~]# ls
abc              asd         backup.gz  caiaochenwoerz  usr  zzz
anaconda-ks.cfg  backup.bz2  backup.xz  out.txt         xxx
[root@localhost ~]# cat asd 
linlusama1

3. 管道

3.1 |

命令功能:把前面命令的结果交给后面的命令处理
命令实例:

[root@localhost ~]# find / -name adc | xargs rm -rf 
[root@localhost ~]# 

vi编辑器

1. 命令模式

  • i:切换到输入模式,以输入字符
  • I:大写的i,在当前光标所在行的行首转换为输入模式
  • a:append,在当前光标所在字符的后面转换为输入模式
  • A:在当前光标所在行的行尾转换为输入模式
  • o:open,在当前光标所在行的下方新建一行并转为输入模式
  • O:在当前光标所在行的上方新建一行并转换为输入模式
  • x 删除当前光标所在处的字符。
  • gg:跳转到第一行
  • G:跳转到最后一行
  • dd:删除当前光标所在行
  • yy:复制当前行的内容
  • p:粘贴到当前行的后面一行
  • P:粘贴到当前行的前面一行
  • : 切换到底线命令模式,以在最底一行输入命令。

2. 输入模式

  • ESC,退出输入模式,切换到命令模式

3. 末行模式

  • wq! 强制保存并退出
  • q! 不保存退出

用户和组管理

1.用户管理

1.1 useradd

命令格式:useradd [option] username
命令功能:创建用户
常用参数:

  • -c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。
  • -d<登入目录>  指定用户登入时的起始目录。
  • -e<有效期限>  指定帐号的有效期限。
  • -f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。
  • -g<群组>  指定用户所属的群组。
  • -G<群组>  指定用户所属的附加群组。
  • -m  自动建立用户的登入目录。
  • -M  不要自动建立用户的登入目录。
  • -n  取消建立以用户名称为名的群组.
  • -r  建立系统帐号。
  • -s   指定用户登入后所使用的shell。
  • -u  指定用户ID。
    命令实例:
[root@localhost ~]# useradd zzz
[root@localhost ~]# useradd -u 2001 ccc
[root@localhost ~]# 
[root@localhost ~]# useradd -u 2003 -g 1001 asd
[root@localhost ~]# useradd -s /sbin/nologin alice

1.2 userdel

命令格式:userdel [option] username
命令功能:删除用户
常用参数:

  • -r 删除用户一并删除家目录

1.3 usermod

命令格式:usermod [option] username
命令功能:修改用户属性
常用参数:

  • -c<备注>  修改用户帐号的备注文字。
  • -d登入目录>  修改用户登入时的目录。
  • -e<有效期限>  修改帐号的有效期限。
  • -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
  • -g<群组>  修改用户所属的群组。
  • -G<群组>  修改用户所属的附加群组。
  • -l<帐号名称>  修改用户帐号名称。
  • -L  锁定用户密码,使密码无效。
  • -s  修改用户登入后所使用的shell。
  • -u  修改用户ID。
  • -U  解除密码锁定。
    命令实例:
[root@localhost ~]# usermod -u 2007 cactd
[root@localhost ~]# 

1.4 su

命令格式:su [option] username
命令功能:切换用户
常用参数:

  • -c:切换用户执行命令 执行结束返回原用户

2.组管理

2.1 groupadd

命令格式:groupadd [options] groupname
命令功能:创建组
常用参数:

  • -g:指定GID
  • -r:添加系统组
    命令实例:
[root@localhost ~]# groupadd -g 2004 sbcac
[root@localhost ~]# groupadd -r ssss
[root@localhost ~]#

2.2 groupdel

命令功能:删除组

3. 密码管理

3.1 passwd密码管理

命令格式:echo “密码” |passwd --stdin username
常用参数:

  • -l: 锁定用户
  • -u:解锁用户
  • -d:删除用户密码
  • -x:指定最长使用期限
  • -n:指定最短使用期限

3.2 破解密码:

1.关机
2.开机
3.在内核上按e键
4.找到UTF8的行,在这一行加上rd.break
5.ctrl+x
6.mount -o remount,rw /sysroot
7.chroot /systoot
8.echo “密码” | passwd --stdin root
9.touch /.autorelabel
10.exit
11.exit

进程管理

1. 进程管理命令

1.1 ps

命令功能:列出当前进程

命令实例:

[root@localhost ~]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 01:03 ?        00:00:04 /usr/lib/systemd/s
root          2      0  0 01:03 ?        00:00:00 [kthreadd]
root          3      2  0 01:03 ?        00:00:00 [ksoftirqd/0]
root          5      2  0 01:03 ?        00:00:00 [kworker/0:0H]
root          7      2  0 01:03 ?        00:00:00 [migration/0]
root          8      2  0 01:03 ?        00:00:00 [rcu_bh]
root          9      2  0 01:03 ?        00:00:04 [rcu_sched]
root         10      2  0 01:03 ?        00:00:00 [lru-add-drain]
root         11      2  0 01:03 ?        00:00:00 [watchdog/0]
root         12      2  0 01:03 ?        00:00:00 [watchdog/1]
root         13      2  0 01:03 ?        00:00:02 [migration/1]
root         14      2  0 01:03 ?        00:00:00 [ksoftirqd/1]
root         16      2  0 01:03 ?        00:00:00 [kworker/1:0H]
root         17      2  0 01:03 ?        00:00:00 [watchdog/2]
root         18      2  0 01:03 ?        00:00:00 [migration/2]
root         19      2  0 01:03 ?        00:00:00 [ksoftirqd/2]
root         20      2  0 01:03 ?        00:00:00 [kworker/2:0]
root         21      2  0 01:03 ?        00:00:00 [kworker/2:0H]
root         22      2  0 01:03 ?        00:00:00 [watchdog/3]
root         23      2  0 01:03 ?        00:00:00 [migration/3]
root         24      2  0 01:03 ?        00:00:01 [ksoftirqd/3]
root         26      2  0 01:03 ?        00:00:00 [kworker/3:0H]
root         28      2  0 01:03 ?        00:00:00 [kdevtmpfs]
root         29      2  0 01:03 ?        00:00:00 [netns]
root         30      2  0 01:03 ?        00:00:00 [khungtaskd]

1.2 top

命令功能:实时全屏动态显示系统信息

命令实例:

top - 11:44:47 up 10:41,  3 users,  load average: 0.09, 0.06, 0.05
Tasks: 188 total,   2 running, 186 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.6 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 
KiB Mem :  3863540 total,  3276128 free,   190276 used,   397136 buf
KiB Swap:  4063228 total,  4063228 free,        0 used.  3345196 ava

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM 
     1 root      20   0  193500   6524   4080 S   0.3  0.2 
 15961 root      20   0  161972   2304   1580 R   0.3  0.1 
 38407 root      20   0  159120   5944   4264 S   0.3  0.2 
     2 root      20   0       0      0      0 S   0.0  0.0 
     3 root      20   0       0      0      0 S   0.0  0.0 
     5 root       0 -20       0      0      0 S   0.0  0.0 
     7 root      rt   0       0      0      0 S   0.0  0.0 
     8 root      20   0       0      0      0 S   0.0  0.0 
     9 root      20   0       0      0      0 S   0.0  0.0 
    10 root       0 -20       0      0      0 S   0.0  0.0 
    11 root      rt   0       0      0      0 S   0.0  0.0 
    12 root      rt   0       0      0      0 S   0.0  0.0 
    13 root      rt   0       0      0      0 S   0.0  0.0 
    14 root      20   0       0      0      0 S   0.0  0.0 
    16 root       0 -20       0      0      0 S   0.0  0.0 
    17 root      rt   0       0      0      0 S   0.0  0.0 
    18 root      rt   0       0      0      0 S   0.0  0.0 
    19 root      20   0       0      0      0 S   0.0  0.0 
    20 root      20   0       0      0      0 S   0.0  0.0 
    21 root       0 -20       0      0      0 S   0.0  0.0 

常用参数:

  • M 根据驻留内存大小进行排序,默认根据CPU百分比排序
  • P 根据CPU使用百分比进行排序
  • T 根据累计时间(占据CPU时长)进行排序
  • l 是否显示平均负载和启动时间
  • t 是否显示进程和CPU状态相关信息
  • m 是否显示内存相关信息
  • c 是否显示完整的命令行信息
  • q 退出top命令
  • k 终止某个进程
  • 1 显示所有CPU的信息
  • s 修改刷新时间间隔

权限管理

1.基础权限 chmod

  • r:读 4
  • w:写 2
  • x:执行 1

命令实例:

[root@localhost ~]# ll abc 
-rw-rw-r--. 1 root root 11 7月   7 09:48 abc
[root@localhost ~]# chmod g+x abc 
[root@localhost ~]# ll abc 
-rw-rwxr--. 1 root root 11 7月   7 09:48 abc
[root@localhost ~]# 
[root@localhost ~]# chmod 775 abc 
[root@localhost ~]# ll abc 
-rwxrwxr-x. 1 root root 11 7月   7 09:48 abc
[root@localhost ~]# 

2.特殊权限 chmod

  • suid:针对应用程序设置 4
  • sgid:针对命令设置 2
  • stick:公共目录 1

命令实例:

[root@localhost ~]# ll abc 
-rwxrwxr-x. 1 root root 11 7月   7 09:48 abc
[root@localhost ~]# chmod u+s abc
[root@localhost ~]# ll abc 
-rwsrwxr-x. 1 root root 11 7月   7 09:48 abc
[root@localhost ~]# chmod g+s abc
[root@localhost ~]# ll abc 
-rwsrwsr-x. 1 root root 11 7月   7 09:48 abc
[root@localhost ~]# chmod o+t abc
[root@localhost ~]# ll abc 
-rwsrwsr-t. 1 root root 11 7月   7 09:48 abc
[root@localhost ~]# 

3.ACL文件访问控制列表 setfacl

命令格式:setfacl {-m,-x ,-b} u|g:username:权限 filename

常用参数:

  • -m :设定
  • -x:取消
  • -b:删除所有

命令实例:

[root@localhost ~]# setfacl -m u:zzz:rw- zzz
[root@localhost ~]# getfacl zzz
# file: zzz
# owner: root
# group: root
user::rwx
user:zzz:rw-
group::r-x
mask::rwx
other::r-x

[root@localhost ~]# ^C
[root@localhost ~]# 

4.委派权限 sudo

visudo

软件管理

1.rpm管理

常用参数:

  • -ivh:安装

  • -e:卸载

  • -qa |grep :查找所有已经安装的包

  • -ql:列出包安装时安装了哪些文件

  • -qc:列出包安装后生成配置文件在哪些

  • -qd:帮助文档

  • -qf:某个文件由那个包提供的

2. yum|dnf管理

命令格式:

  • yum -y install packname 安装
  • yum -y remove packname 卸载
  • yum provides *bin/命令
  • yum list all |grep packname 查找
  • yum clean all 清楚缓存

yum源仓库配置:

vi /etc/yum.repos.d/xx.repo
[BaseOS]
name=baseos
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=appstream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1

mount /mnt/cdrom /mnt
yum clean all
yum list all

服务控制

1.centos6以前的版本:

命令格式:

  • service SERVICE_NAME start 启动
  • service SERVICE_NAME stop 暂停
  • service SERVICE_NAME status 状态
  • service SERVICE_NAME restart 重启
  • chkconfig --add SERVICE_NAME 开机自启
  • chkconfig SERVICE_NAME on 设置服务开机自启
  • chkconfig SERVICE_NAME off 设置服务开机不自启

2.centos7以后的版本:

命令格式:

  • systemctl start SERVICE_NAME 启动
  • systemctl stop SERVICE_NAME 暂停
  • systemctl status SERVICE_NAME 状态
  • systemctl restart SERVICE_NAME 重启
  • systemctl enable SERVICE_NAME 开机自启
  • systemctl disable SERVICE_NAME 禁止服务开机自启
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值