Linux 常用命令(5):压缩与解压

zip / unzip

将一般的文件或者目录进行压缩或者解压,默认生成以 .zip 为后缀的压缩包。

zip [选项] 压缩文件名 需要压缩的文档列表
Linux 常用命令(4):文件管理与编辑

mkdir

创建一个目录。 mkdirmake directory 的缩写

mkdir [选项] 目录名
Java 解惑 -08:Dos Equis

public class JavaPuzzlers008 {
    public static void main(String[] args) {
        char x = 'X';
        int i = 0;
        System.out.print(true ? x : 0);
        System.out.print(false ? i : x);
    }
}
Java 解惑 -07:互换内容

下面的程序使用了复合的异或赋值操作符,它所展示的技术是一种编程习俗。

public class JavaPuzzlers007 {
    public static void main(String[] args) {
        int x = 2016;
        int y = 2021;
        x ^= y ^= x ^= y;
        System.out.println("x=" + x + "; y=" + y);
    }
}
Linux 常用命令(3):系统

ls

显示指定目录下的内容,列出工作目录所含的文件及子目录。

ls [选项] [路径或文件]
Linux 常用命令(2):Shell

Shell 命令的语法分析

命令格式

command [options] [arguments]
Linux 常用命令(1):系统基本结构

系统与硬件

  • lspci 查看系统 PCI 设备
    • lspci -v 查看系统 PCI 设备详细信息
  • more /proc/cpuinfo 查看 CPU 信息
    • cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l 查看系统物理 CPU 的个数
    • cat /proc/cpuinfo | grep "cpu cores" 查看每个物理 CPU 中内核的个数
    • cat /proc/cpuinfo | grep "processor" | wc -l 查看系统所有逻辑 CPU 个数(所有物理 CPU 中内核的个数加上超线程个数)
  • more /proc/meminfo 查看系统内存信息
  • fdisk -l 查看磁盘分区信息
  • mount -t 文件系统类型 设备名 挂载点 挂载设备
    • mount -t msdos /dev/fd0 /mnt/floppy 挂载软盘
    • mount -t vfat /dev/sda1 /mnt/usb 挂载 U 盘
    • mount -t iso9660 /dev/hda /mnt/cdrommount /dev/cdrom /mnt/cdrom 挂载光盘
  • umount 挂载目录 卸载设备
    • umount /mnt/usb 卸载 U 盘
    • umount /mnt/cdrom 卸载光盘
Java 解惑 -04:初级问题

下面打印的结果为什么不是 66666 而是 17777

System.out.println(12345 + 5432l); // print 17777
Java 解惑 -03:长整除

下面的示例代码计算的是一天中的微秒数除以一天中的毫秒数,因为正好差 3 个数量级,理应打印 1000 ,但结果打印的是 5

final long MICROS_PER_DAYH = 24 * 60 * 60 * 1000 * 1000; // 一天的微秒数
final long MILLIS_PER_DAYH = 24 * 60 * 60 * 1000; // 一天的毫秒数

System.out.println(MICROS_PER_DAYH / MILLIS_PER_DAYH); // print 5
Java 解惑 -02:找零时刻

System.out.println(2.00 - 1.10); // print 0.8999999999999999
Java 解惑 -01:奇数性

下面的方法验证参数是否是奇数。

public static boolean isOdd(int i) {
    return i % 2 == 1;
}
Java 解惑 -06:多重转型

问题

观察如下代码,你认为将打印什么? -1 吗?

System.out.println((int) (char) (byte) -1);
Java 解惑 -05:十六进制的趣事

System.out.println(Long.toHexString(0x100000000L + 0xcafebabe)); // print cafebabe