linux常用命令

1、 cd命令

  a) cd .. 切换到上一层目录
  b) cd ./ 切换到当前目录下某个目录
  c) cd – 切换到上一个所在目录
  d) cd ../../ 切换到上上级目录
  e) cd /usr 切换到指定目录
  f) cd 切换到用户主目录

2、 ls ll
  a) ls –l 等于 ll 命令

3、 mdkir rmdir
  a) mkdir abc 创建abc文件夹(目录)
  b) rmdir abc 删除abc目录(如果abc目录下有子目录或者文件不能删除)
  c) Mv test/test1 修改test为test1

4、 浏览文件
  a) cat 输出文件所有内容
  b) more 查看更多内容,
    i. 退出:按q键,
    ii. 空格:查询下一屏内容
  c) less 用法和more类似,不同的是less可以通过PgUp、PgOn键来控制。
  d) Touch 创建一个空文件 文件以-开头,文件夹以d开头
  e) Cat 查看文件
  f) Echo 打印 echo ‘aa’ > aaa 打印aa到aaa, 一个>为覆盖,>>为追加
  g) Vi 对文件修改 按a或者i编辑,esc退出编辑,shif加冒号,保存退出
  h) Ctrl+c无论什么状态都能退出
  i) 左边Tail -F aaa 克隆一个窗口,往aaa里追加数据,左边能收到
  j) Pwd 显示当前的目录

5、带表头查看进程

  a) ps -ef|head -1;ps -ef|grep ebuy

    其中各列的内容意思如下
    UID    //用户ID、但输出的是用户名 
    PID    //进程的ID 
    PPID    //父进程ID 
    C      //进程占用CPU的百分比 
    STIME  //进程启动到现在的时间 
    TTY    //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 
    CMD    //命令的名称和参数

  b) ps aux|head -1;ps aux|grep ebuy

    同ps -ef 不同的有列有
      USER      //用户名 
      %CPU      //进程占用的CPU百分比 
      %MEM      //占用内存的百分比 
      VSZ      //该进程使用的虚拟內存量(KB) 
      RSS      //该进程占用的固定內存量(KB)(驻留中页的数量) 
      STAT      //进程的状态 
      START    //该进程被触发启动时间 
      TIME      //该进程实际使用CPU运行的时间

6、less

  less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

  -b 《缓冲区大小》 设置缓冲区的大小
  -e 当文件显示结束后,自动离开
  -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  -g 只标志最后搜索的关键词
  -i 忽略搜索时的大小写
  -m 显示类似more命令的百分比
  -N 显示每行的行号
  -o 《文件名》 将less 输出的内容在指定文件中保存起来
  -Q 不使用警告音
  -s 显示连续空行为一行
  -S 行过长时间将超出部分舍弃
  -x 《数字》 将“tab”键显示为规定的数字空格
  /字符串:向下搜索“字符串”的功能
  ?字符串:向上搜索“字符串”的功能
  n:重复前一个搜索(与 / 或 ? 有关)  
  N:反向重复前一个搜索(与 / 或 ? 有关)
  b 向后翻一页
  d 向后翻半页
  h 显示帮助界面
  Q 退出less 命令
  u 向前滚动半页
  y 向前滚动一行
  空格键 滚动一行
  回车键 滚动一页
  [pagedown]: 向下翻动一页
  [pageup]: 向上翻动一页

7、less 版 tail -f
  在 Linux 动态查看日志文件常用的命令非 tail -f 莫属,其实 less 也能完成这项工作,使用 F 命令。
  使用 less file-name 打开日志文件,执行命令 F,可以实现类似 tail -f 的效果。
  定位到日志文件的最后一行:shift+g移动到最后一行
  下面总结一些vi 退出命令,学习!
  进入编辑模式,按 o 进行编辑
  编辑结束,按ESC 键 跳到命令模式,然后输入退出命令:
  :w保存文件但不退出vi 编辑
  :w! 强制保存,不退出vi 编辑
  :w file将修改另存到file中,不退出vi 编辑

  :wq保存文件并退出vi 编辑
  :wq!强制保存文件并退出vi 编辑
  q:不保存文件并退出vi 编辑
  :q!不保存文件并强制退出vi 编辑
  :e!放弃所有修改,从上次保存文件开始在编辑

  在命令模式下敲斜杆( / )这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了。
  如果你要继续查找此关键字,敲字符 n 就可以继续查找了。

8、关机与重启命令

重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

关机命令:

1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

9、系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS

10、关闭防火墙

关闭防火墙命令:systemctl stop firewalld.service

开启防火墙:systemctl start firewalld.service

关闭开机自启动:systemctl disable firewalld.service

开启开机启动:systemctl enable firewalld.service

防火墙状态:systemctl statusfirewalld.service

防火墙关闭后,端口仍不能访问:

1)  systemctl start firewalld.service

2) 开放端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent

3) 重新加载:firewall-cmd --reload

11、文件搜索
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天内被创建或者修改过的文件
find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限
find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径

12、挂载一个文件系统
mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在
umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出
fuser -km /mnt/hda2 当设备繁忙时强制卸载
umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount /dev/fd0 /mnt/floppy 挂载一个软盘
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享

 

13、磁盘空间
df -h 显示已经挂载的分区列表
ls -lSr |more 以尺寸大小排列文件和目录
du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间'
du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)

 

14、用户和群组
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执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户
grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组

 

15、文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消
ls -lh 显示权限
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
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 改变文件的群组
chown user1:group1 file1 改变一个文件的所有人和群组属性
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t /home/public 禁用一个目录的 STIKY 位


16、文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消
chattr +a file1 只允许以追加方式读写文件
chattr +c file1 允许这个文件能被内核自动压缩/解压
chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件
chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr +s file1 允许一个文件被安全地删除
chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr 显示特殊的属性

 

17、打包和压缩文件
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -jxvf archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包

unzip xxx.zip -d /home/es/ik  解压到指定目录

 


18、RPM 包 - (Fedora, Redhat及类似系统)
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -U package.rpm 更新一个rpm包但不改变其配置文件
rpm -F package.rpm 更新一个确定已经安装的rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa 显示系统中所有已经安装的rpm包
rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包
rpm -qi package_name 获取一个已安装包的特殊信息
rpm -qg "System Environment/Daemons" 显示一个组件的rpm包
rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表
rpm -q package_name --whatprovides 显示一个rpm包所占的体积
rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l
rpm -q package_name --changelog 显示一个rpm包的修改历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm --checksig package.rpm 确认一个rpm包的完整性
rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
rpm -Va 检查系统中所有已安装的rpm包- 小心使用
rpm -Vp package.rpm 确认一个rpm包还未安装
rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包
rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包

19、补充命令

清除缓存:
1:echo 3 > /proc/sys/vm/drop_caches

ps aux --sort -rss   带pid查看内存使用情况

uname -a 显示系统及版本的所有信息

mkdir -p dir3/dir4 在当前目录下创建2级目录dir3和其子目录dir4

vi 编辑器 dd 删除一行
p 复制一行

chown -R root t1.txt 修改文件所属主root

chgrp mysql t1.txt 修改文件所属组为mysql

tail -n 6 /etc/passwd 查看最后6行

useradd -d /rose -g group -G root -u 505 rose 创建rose用户,指定家目录在/rose下,加入到group组,同时附加到root组,并设置UID号为505
userdel -r user1 删除用户登陆目录及目录下的文件(类似于windows的删除用户选择是否删除用户的文档)

usermod 修改用户命令

usermod -d /home/rose -g group0 -G group1 -u 600 rose 将rose用户的家目录,主组和附加组以及UID值更改
usermod -L rose 锁定rose用户
usermod -U rose 解除rose用户的锁定
id user1 查看user1的信息
last -n 5 | awk '{print $1}' 显示最近登录的5个账户
远程拷贝:scp -r 1.txt root@node1:/opt

 

posted @ 2019-10-24 14:59  蜗牛的信仰  阅读(203)  评论(0编辑  收藏  举报