常用的linux命令

关机 (系统的关机、重启以及登出 ) 

shutdown -h now 关闭系统
init 0 关闭系统
telinit 0 关闭系统
shutdown -h hours:minutes & 按预定时间关闭系统 
shutdown -c 取消按预定时间关闭系统 
shutdown -r now 重启
reboot 重启
logout 注销

文件和目录

cd /home 进入 '/ home' 目录' 
cd .. 返回上一级目录 
cd ../.. 返回上两级目录 
cd 进入个人的主目录 
pwd 显示工作路径 
ls 查看目录中的文件
ls -l 显示文件和目录的详细资料 
ls -a 显示隐藏文件 
mkdir dir1 创建一个叫做 'dir1' 的目录' 

rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录' 
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容 
mv dir1 new_dir 重命名/移动 一个目录 
cp file1 file2 复制一个文件 
cp dir/* . 复制一个目录下的所有文件到当前工作目录

统计文件数量

1、统计当前目录下文件的个数(不包括目录)

ls -l | grep "^-" | wc -l

2、统计当前目录下文件的个数(包括子目录)

ls -lR| grep "^-" | wc -l

3、查看某目录下文件夹(目录)的个数(包括子目录)

ls -lR | grep "^d" | wc -l

4、统计当前文件夹下叫某某的文件的数量

find . -name filename | wc -l

5、统计当前文件夹下指定类型的文件的数量

例如这里需要找 js 文件的数量:

find -name "*.js" | wc -l

创建一个2G的文件

yes "hello,word"| head -c 2G > /opt/2G_file.txt;

rm -rf /opt/2G_file.txt;

yes 命令重复打印字符串,按Ctrl + C结束

将同一内容写入多个文件中   echo 'abc' | tee 1.txt 2.txt 3.txt

文件搜索 

find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录 
find / -user user1 搜索属于用户 'user1' 的文件和目录 
find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 

文件的权限 

chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限 
chown user1 file1 改变一个文件的所有人属性 
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 
chgrp group1 file1 改变文件的群组

修改/bin 文件夹以及下面的所有文件的所属用户为root    sudo chown -R root /bin

修改/bin 文件夹以及下面的所有文件的所属用户组为root    sudo chgrp -R root /bin

查看文件内容 

cat file1 从第一个字节开始正向查看文件的内容 
tac file1 从最后一行开始反向查看一个文件的内容 
more file1 查看一个长文件的内容 
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作 
head -2 file1 查看一个文件的前两行 
tail -2 file1 查看一个文件的最后两行 

查看各文件夹大小du

du -h --max-depth=1           --max-depth=n表示只深入到第n层目录

du -ah user        列出user目录及其子目录下所有目录和文件的大小,-a表示包括目录和文件

du -h .        查看当前目录下所有目录以及子目录的大小,“.”代表当前目录下,也可以换成一个明确的路径

du -m /home/linux    以MB为单位显示一个目录树及其每个子树的磁盘使用情况

du -g /home/linux    以GB为单位显示一个目录树及其每个子树的磁盘使用情况

磁盘空间 

df -h 显示已经挂载的分区列表 
ls -lSr |more 以尺寸大小排列文件和目录 
du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间

用户组和用户

groupadd group_name 创建一个新用户组 
groupdel group_name 删除一个用户组 
groupmod -n new_group_name old_group_name 重命名一个用户组 
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户 
useradd user1 创建一个新用户 
userdel -r user1 删除一个用户 ( '-r' 排除主目录) 
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性 
passwd 修改口令 
passwd user1 修改一个用户的口令 (只允许root执行)

网络 - (以太网和WIFI无线) 

ifconfig eth0 显示一个以太网卡的配置 
ifup eth0 启用一个 'eth0' 网络设备 
ifdown eth0 禁用一个 'eth0' 网络设备 
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址 

ip a  #查看所有网卡的接口信息

进程管理

ps:查看进程,列出执行ps命令的那个时刻的进程快照。如果想要动态显示,使用top命令
-a  # 显示所有终端下执行的进程
-u  # 显示指定用户相关的进程信息
-e  # 显示所有进程
f  # 显示进程树
pgrep:显示指定进程的pid命令,ps和grep命令的结合
-u  显示指定用户的所有进程号
kill:终止进程
kill -9 进程号码 强制杀死

压缩和解压

tar: -c: 建立压缩档案     -x:解压      t:查看内容       -r:向压缩归档文件末尾追加文件    -u:更新原压缩包中的文件

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出

-f: 使用档案名字,-f 是必须的是最后一个参数,后面只能接档案名

压缩

tar -cf all.tar *.jpg   #将所有.jpg的文件打成一个名为all.tar的包

tar -rf all.tar *.gif    #将所有.gif的文件增加到all.tar的包里面去

tar -uf all.tar logo.gif    #更新原来tar包all.tar中logo.gif文件

tar -tf all.tar    #列出all.tar包中所有文件

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成jpg.tar

tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2 //解压 tar.bz2

tar -xZvf file.tar.Z //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

总结

*.tar 用 tar -xvf 解压

*.gz 用 gzip -d或者gunzip 解压

.tar.gz和.tgz 用 tar -xzf 解压

*.bz2 用 bzip2 -d或者用bunzip2 解压

*.tar.bz2用tar -xjf 解压

*.Z 用 uncompress 解压

*.tar.Z 用tar -xZf 解压

*.rar 用 unrar e解压

*.zip 用 unzip 解压

 修改虚拟机时间

查看当前时间:date         date  +"%Y-%m-%d %H:%M:%S"

关闭虚拟机上的时间与主机同步:timedatectl set-ntp no

超级用户才能修改虚拟机的时间:timedatectl set-time “YYYY-MM-DD HH:MM:SS”

将硬件时钟设置为当前的系统时间:hwclock -w

修改虚拟机系统语言

export LC_ALL=zh_CN.UTF-8

sudo localectl set-locale LANG=en_US.utf8,然后重新打开一个会话

查看虚拟机是什么操作系统

lsb_release -a

uname -a

查看CPU信息

查看CPU总个数:cat /proc/cpuinfo |grep "processor"|wc -l

查看每个cpu的核数 :cat /proc/cpuinfo |grep "cores"

docker命令

重启Docker:systemctl restart docker

停止Docker:systemctl stop docker

启动Docker:systemctl start docker

查看所有的容器:docker ps -a              

查看所有镜像:docker images    已下载的镜像一般是存放在/var/lib/docker/image/overlay2目录下的 repositories.json文件中,不同Docker版本可能会有些不同,具体在这个/var/lib/docker目录下的什么位置还得根据Docker具体版本情况来看

获取镜像:docker pull ubuntu                   docker pull centos:7  #指定image镜像tag标签版本

删除镜像:docker rmi e6a0117ec169

查看已下载镜像的详情信息:docker image inspect 镜像id 

启动一个停止的容器:docker start b750bbbcfd88

启动容器:docker run -it ubuntu /bin/bash   #使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器

docker run -itd --name ubuntu-test ubuntu /bin/bash  #后台运行

进入容器:docker exec -it 243c32535da7 /bin/bash    退出  exit

停止一个容器:docker stop <容器 ID>

重启一个容器:docker restart <容器 ID>

导出容器快照到本地:docker export 1e560fca3906 > ubuntu.tar

从容器快照文件中再导入为镜像:cat docker/ubuntu.tar | docker import - test/ubuntu:v1    #将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1

 docker import http://example.com/exampleimage.tgz example/imagerepo   #指定 URL 或者某个目录来导入

删除容器:docker rm -f 1e560fca3906

docker port 可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号:

runoob@runoob:~$ docker port bf08b7f2cd89
5000/tcp -> 0.0.0.0:5000

查看容器日志:docker logs [ID或者名字] 

docker inspect 查看 Docker 的底层信息:dockerinspect [ID或者名字] 会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息

yum命令

查看linux系统是否已经安装yum:rpm -qa yum

yum list all 列出所有软件包

yum list updates 列出可更新的包

yum list available 列出可用的包

yum install 安装

yum remove 删除

yum update 更新

yum groupinstal 用系统中的组安装

yum groupinfo 系统中组的信息

系统语言/字符集

查看系统当前已安装的语言

locale -a

1.虚拟机安装系统没自带的字符集:

- 对于Debian/Ubuntu系统,使用apt包管理器:`sudo apt install language-pack-字符集`

- 对于Red Hat/CentOS系统,使用yum包管理器:`sudo yum install 字符集`  

eg: sudo yum install glibc-langpack-es

- 对于Arch Linux系统,使用pacman包管理器:`sudo pacman -S 字符集`

2.虚拟机安装系统自带的字符集

cd /usr/share/locales,查看系统本身支持的字符集列表,如果存在想安装的字符集,vim /etc/locale.gen,去除被注释掉的语言环境前的#,执行sudo locale-gen

修改虚拟机系统语言为英文:

sudo localectl set-locale LANG=en_US.utf8,然后重新打开一个会话

只在本次会话生效: export LC_ALL=C.utf8

在系统生效: sudo vi /etc/default/locale              source /etc/default/locale           

龙芯的配置文件 /etc/profile

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值